Skip to main content

Full text of "PC Tech Journal Volume 05 Number 09"

See other formats


71486 " 02166 ' 


SEPTEMBER 1987 


VOL. 5 NO. 9 $3.95 





TURBO BASIC VS. QOCKBASIC 
LASER ntlVrER METRICS 
SIMPLE LAN AUERNAHVES 
























TUrbo Prolog: 

The Natural Language of 
Artificial Intelligence 


Tlirb 

The most powe 
compil( 



\^T hether you’re a first-time 
programmer or an expe- 
Yf rienced one, Turbo Prolog’s 
natural implementation of Artifi¬ 
cial Intelligence soon shows you 
how to build expert systems, nat¬ 
ural language interfaces, custom¬ 
ized knowledge bases and smart 
information 
management 
systems. 


lUrbo Prolog and Ibrbo C 
work hand-in-hand 

Turbo Prolog* interfaces per¬ 
fectly with Turbo C® because 
they’re both designed to work 
with each other. 

The Turbo Prolog/Turbo C 
combination means that you can 
now build powerful commercial 
applications using two of the 
most powerful languages 
available. 


Ihrbo Prolog’s development 
system includes: 

S' A complete Prolog compiler that 
is a variation of the Clocksin and 
Mellish Edinburgh standard 
Prolog. 

s' A full-screen interactive editor. 

s' Support for both graphic and text 
windows. 

s' All the tools that let you build 
your own expert systems and 
AI applications with un¬ 
precedented ease. 


All Borland products are trademarks or registered trademarks ot Borland Interna¬ 
tional, Inc., or Borland/Analytica, Inc. Other brand and product names are trade¬ 
marks or registered trademarks of their respective holders. 

Copyright 1987 Borland International BI-1131A 


An affordable, fast, and 
easy-to-use language that 
will delight the newcomer 
... You experienced Prolog 
hackers will likewise be 
delighted, if not astonished, 
by the features and per¬ 
formance of the Turbo 
Prolog development 
environment. 

Turbo Prolog offers gener¬ 
ally the fastest and most 
approachable implementa¬ 
tion of that language. 

Darryl Rubin, AI Expert 33 


How Ibrbo Prolog’s new Tool¬ 
box adds 80 powerful tools 
and 8000 lines of source code 

In keeping with Borland tradi¬ 
tion, we’ve quickly added the 
new Turbo Prolog Toolbox™ to 
Turbo Prolog. 

With 80 tools and 8000 lines 
of source code that can easily be 
incorporated into your own pro¬ 
grams—and 40 sample programs 
that show you how to put these 
AJ tools to work—the Turbo 
Prolog Toolbox is a highly intelli¬ 
gent, high-performance addition. 
Only $99,951 


Tbrbo Prolog Toolbox 
features include: 

s' Business graphics generation: 
boxes, circles, ellipses, bar charts, 
pie charts, scaled graphics 
s' Complete communications pack¬ 
age: supports XMODEM protocol 
S' File transfers from Reflex,* dBASE 
III,* 1-2-3,* Symphony* 
s' A unique parser generator: con¬ 
struct your own compiler or query 
language 

s' Sophisticated user-interface design 
tools 

S' Contains 40 example programs 
S^ Easy-to-use screen editor: design 
your screen layout and I/O 
Sf Calculated fields definition 
S' Over 8,000 lines of source code 
you can incorporate into your own 
programs 


O ur new Turbo C generates 
I fast, tight, production- 
quality code at compilation 
speeds of more than 13,000 lines 
a minute! 

It’s the full-featured optimizing 
compiler everyone has-been wait¬ 
ing for. 

Switching to Ihrbo C, or 
starting with Ihrbo C, you 
win both ways 

If you’re already programming 
in C, switching to Turbo C will 
make you feel like you’re riding a 
rocket instead of pedaling a bike. 

If you’re never programmed in 
C, starting with Turbo C gives you 
an instant edge. It’s easy to learn, 
easy to use, and the most efficient 
C compiler at any price. 

Only $99.95! 



it Turbo C does look like 
What WeVe All Been NC^iting 
For: a full-featured compiler 
that produces excellent 
code in an unbelievable 
hurry... moves into a class 
all its own among full- 
featured C compilers ... 
Turbo C is indeed for the 
serious developer ... One 
heck of a buy—at any 

price. Michael Abrash, 

Programmer's Journal j j 









OC: NEW! 

rful optimizing 
;r ever 


Why more than 600,000 
programmers worldwide are using 
Thrbo Pascal today 


Sieve benchmaiic 



Turbo C 

Microsoft® 

C 

Compile time 

2.4 

13.51 

Compile and 
link time 

4.1 

18.13 

Execution time 

3-95 

5.93 

Object code 
size 

239 

249 

Execution size 

5748 

7136 

Price 

$99.95 

$450.00 


Benchmark run on an IBM PS/2 Model 60 using Turbo C version 
1.0 and the Turbo Linker version 1.0; Microsoft C version 4.0 and 
the MS overlay linker version 3.51. 


Technical Specifications 

Compiler: One-pass optimizing com¬ 
piler generating linkable objea 
modules. Included is Borland’s high- 
performance Turbo Linker." The object 
module is compatible with the PC- 
DOS linker. Supports tiny, small, com¬ 
pact, medium, large, and huge 
memory model libraries. Can mix 
models with near and far pointers. 
Includes floating point emulator 
(utilizes 8087/80287 if installed). 
Interactive Editor: The system 
includes a powerful, interaaive full¬ 
screen text editor. If the compiler 
detects an error, the editor auto¬ 
matically positions the cursor approp¬ 
riately in the source code. 
Development Environment: A power¬ 
ful “Make” is included so that manag¬ 
ing Tbrbo C program development is 
highly efficient. Also includes pull¬ 
down menus and windows. 

Links with relocatable object modules 
created using Borland’s Tbrbo Prolog 
into a single program. 

Inline assembly code. 

Loop optimizations. 

Register variables. 

ANSI C compatible. 

Start-up routine source code included. 
Both command line and integrated 
environment versions included. 
License to the source code for Run¬ 
time Library available. 


Join more than 100,000 Turbo C 
enthusiasts. Get your copy of 
Turbo C today! 

Minimum system requirements: All products run on IBM PC. 
XT. AT. PS/2, portable and true compatibles. PC-DOS (MS-DOS) 
2.0 or later. 384K RAM minimum. Basic Telecom and Editor Tool¬ 
boxes require 640K. 

Borland International 

4585 Scotts Valley Drive. Scotts Valley, CA 95066 
Telephone: (408) 438-8400 Telex: 172373 




T Ihe irresistible force behind 
Turbo Pascal’s worldwide 
success is Borland’s advanced 
technology. We created a com¬ 
piler so fast, that Turbo Pascal* is 
now the worldwide standard. And 
there are more tools for Turbo 
Pascal than for any other develop¬ 
ment environment in the world. 

You’U get everything you 
need from Ihrbo Pascal and 
its 5 Toolboxes 

Turbo Pascal and Family are 
all you’ll ever need to perfect pro¬ 
gramming in Pascal. 

If you’ve never programmed 
in Pascal, you’ll probably want to 
start with Turbo Pascal Tutor® 2.0, 
and as your expertise quickly 
grows, add Toolboxes like our 

• Database Toolbox® 

• Editor Toolbox® 

• Graphix. Toolbox® 

• GameWorks® 
and our newest, 

• Numerical Methods Toolbox™ 


And because Turbo Pascal is the 
established worldwide standard, 
3rd party, independent non- 
Borland developers also offer an 
incredible array of programs for 
Turbo Pascal. Only $99>95! 


Borland International’s 
Turbo Pascal took the pro¬ 
gramming world by storm. A 
great compiler combined 
with a good editor at an 
astounding price, the pack¬ 
age quickly came to be 
called, simply. Turbo—and 
has sold more than 500,000 
copies. 

Stephen Randy Davis, PC Magazine 

Language deal of the cen- 
tury. PC Magazine 33 


For Scientists and Engineers: 
lUrbo Pascal Numerical 
Methods Ibolbox 

The Numerical Methods Tool¬ 
box is a complete collection of 
Turbo Pascal routines and pro¬ 
grams. Add it to your develop¬ 
ment system and you have the 
most comprehensive and power¬ 
ful numerical analysis capabil¬ 
ities—at your fingertips! 

The Numerical Methods Tool¬ 
box is a state-of-the-art mathemat¬ 
ical toolbox with these ten pow¬ 
erful features: 

Zeros of a function 
s' Interpolation 
S' Differentiation 
S' Integration 
Sf Matrix Inversion 
S' Matrix Eigenvalues 
S' Differential Equations 
s' Least Squares 
s' Fourier Transforms 
s' Graphics 

Each module comes with pro¬ 
cedures that can be easily adapted 
to your own program. The Tool¬ 
box also comes complete with 
source code. So you have total 
control of your application. 

OtOy $99.95! 























Borland International’s Turbo Pascal, Turbo Basic 
and Turbo Prolog automatically identify themselves, by 
virtue of their ‘Turbo’ forenames, as superior language 
products with a common programming environment. 
The appellation also means to many PC users a ‘must 
have’ language. To us Turbo C looks like a coup for 


Borland. 


Garry Ray, PC Week jy 


BI-1131A 













A technical look at Ihrbo Basic 

Sf Full recursion supported 

Standard IEEE floating-point format 
s' Floating-point support, with full 
8087 (math co-processor) integra¬ 
tion. Software emulation if no 
8087 present 

S' Program size limited only by avail¬ 
able memory (no 64K limitation) 
s' VGA, CGA, and EGA support 
Sf Access to local, static, and global 
variables 

s' Full integration of the compiler, 
editor, and executable program, 
with separate windows for editing, 
messages, tracing, and execution 
s' Compile, run-time, and I/O errors 
place you in the source code 
where error occurred 
s' New long integer (32-bit) data 
type 

s' Full 80-bit precision 
S' Pull-down menus 
s' Full window management 


Telecom Toolbox is a complete 
communications package which 
takes advantage of the built-in 
communications capabilities of 
BASIC—use as is or modify. 

• Pull-down menus and windows 

• XMODEM support 

• VTIOO terminal emulation 

• Captures text to disk or printer 

• PhoneBook file 

• 300,1200, 2400 baud support 

• Supports script files 

• Fast screen I/O 

• Supports most of XTalk’s 
command set 

• Manual dial and redial options 
Use Telecom Toolbox to embed 

communications capabilities into 
your own programs and/or build 
your own communications pack¬ 
age. Source code included for 
all Toolbox code and sample 
programs. Only $99.95! 


For the dealer nearest you or to order by phone call 
( 800 ) 255-8008 

in CA (800) 742-1133 in Canada (800) 237-1136 


Database Toolbox means that 
you don’t have to reinvent the 
wheel each time you write new 
Turbo Basic database programs. 

s' “Trainer” shows you how B-f 
trees work. (Simply key in 
sample records and you’ll see 
your index being built.) 

s' Turbo Access instantly locates, 
inserts or deletes records in a 
database—using B-h trees. 

s' Turbo Sort sorts data on single 
items or on multiple keys and 
features virtual memory 
management for sorting large 
data files. 

Source code included. 

Onfy $99.95! 


BORLAND 

INTERNATIONAL 

SUMMER BREAK SPECIAL! 

Buy Turbo Basic and get a FREE product. 
See your dealer for details! 

CIRCLE NO. 254 ON READER SERVICE CARD 


Editor Toolbox is all you need 
to build your own text editor or 
word processor. Includes source 
code for two sample editors. 

First Editor is a complete editor 
ready to include in your programs, 
complete with windows, block 
commands and memory-mapped 
screen routines. 

MicroStar" is a full-blown text 
editor with a complete pull-down 
menu user interface, and gives you 

• Wordwrap 

• Undo last change 

• Auto-Indent 

• Find and Find/Replace with options 

• Set left/right margins 

• Block mark, move and copy 

• Tab, insert, overstrike modes, line 
center etc. 

Includes source code. 

Only $99.95! bi-ii 3 ia 


TUrbo Basic introduces 
its powerful new Telecom, Editor 
and Database Tbolboxes 


T urbo Basic® is the break¬ 
through you’ve been waiting 
for. The same power we 
brought to Pascal with Turbo 
Pascal has now been applied 
to BASIC with Turbo Basic. 

Compatible with BASICA, Turbo 
Basic is the high-performance, 
high-speed BASIC you’d expect 
from Borland. 

Basically, lUrbo Basic is 
all you need 

It’s a complete development 
environment which includes an 
incredibly fast compiler, an inter¬ 
active editor and a trace debug¬ 
ging system. It outperforms all its 
rivals, and because it’s compatible 
with BASICA, you probably 
already know how to use it. 

Includes a free MicroCalc" 
spreadsheet complete mith source 
code, Onfy $99.95! 


66 Borland has created 
the most powerful version 
of BASIC ever. 

Ethan Winer, PC Magazine 33 



























If you thought all file maiu^ers 
were alike) think again. 
Think Btrieve. 



Btrieve stands out as the one file management 
system for programmers who are serious about 
productivity. With Btrieve, your programs can 
use simple subroutine calls to store, retrieve, and 
update records. It’s the file handling solution 
rich in functionality to meet your needs now 
and in the future, as your requirements 
grow and change. 


Bfast* With Btrieve you develop fast 
applications, with ease. Written in 
assembly language for IBM PC’s, Btrieve 
uses b-tree algorithms with automatic 
balancing for fast, efficient file indexing. 

Bsafe* Btrieve is the only file manager 
with automatic file recovery. Two levels of 
database integrity provide complete fault 
tolerance in the event of accidents or power 
failures. 


Bconnected. When your applications require 
networking, think Btrieve. A single version runs on all 
DOS 3 LAN’s, including IBM PC Network and Novell 
Advanced NetWare. Btrieve is also available for 
Xenix and other multi-tasking operating systems. 

Broyalty Free. No royalty payments on your 
applications. Ever. 

Bsure. Btrieve comes with comprehensive 
documentation and unrivaled technical support for 
trouble-free software development. And you can 
add Xtrieve to supply your end users with even 
more, a menu-driven report writer and query 
system. 

Thiiik Btrieve. Make your programming 
performance stand out. Contact SoftCraft. 


SoftCraft 

A NOVELL COMPANY 

RO. Box 9802, #917 
Austin, Texas 78766 
(512) 346-8380 Telex 358 200 


Bflexible. Develop your PC applications 
with the capabilities you need most. 
Capabilities such as: unlimited open files, 
unlimited records per file, 24 indexes per file 
and a maximum file size of 4 gigabytes. All 
this with Btrieve plus access from any 
programming language. 


Btrieve, $245; multi-user Btrieve, $595; Xtrieve, $245; 
multi-user Xtrieve, $595 (for report generation, add $145 for single-user and $345 for multi-user). 

Requires PC-DOS or MS-DOS 2.X, 3.Xor Xenix. Btrieve and Xtrieve are registered trademarks of SoftCraft Inc. 


CIRCLE NO. 201 ON READER SERVICE CARD 


SEPTEMBER 1987 




TRACKING CODE MODULES / JIM VALLINO 

Deadline is approaching, programmers are working feverishly on various parts of the code, source code modules seem to be 
reproducing indiscriminately—the program is out of control. The answer may be a source code management system. 

50 

LASER METRICS / RAINER McCOWN and HEETH CLARK 

To judge laser printers against the preeminent member of this elite group, Hewlett-Packard’s LaserJet series, PC Tech Journal has 
devised a set of software metrics that measure compatibility with the HP standard. The metrics and their code are described here. 

74 

LASER PERFORMANCE / RAINER McCOWN and HEETH CLARK 

Laser printers are becoming a stock item in most computer systems and are available in great numbers and variety. Using the PC 

Tech Journal LaserJet Software Metrics, we evaluate the HP LaserJets- and Series II printers, plus seven others offering HP emulation. 

100 

REFINING MAINFRAME ACCESS / PAUL FIRGENS 

Automation comes to the PC-mainframe connection with AutoKey/3270, a new software product from GDI Systems. AutoKey eases 
many tedious tasks that previously required the user to write custom routines, such as manipulating screen buffers and I/O ports. 

118 

BASIC FACE-OFF / JUSTIN CROM 

We put Borland’s Tlirbo BASIC and Microsoft’s QuickBASIC in the ring and let them fight it out, knowing that a clear winner would 
likely capture the BASIC market. Each revealed specific strengths in different areas. The outcome of the fight? It’s a draw. 

136 

SUCCEEDING C / MARTY FRANZ 

The new C++ language purports to improve on standard C by adding object-oriented and structured programming features. Two 
compilers, Advantage++ and Guidelines++, show C++ to be slower and in some ways more cumbersome than the original C. 

166 

SIMPLE LAN ALTERNATIVES / MICHAEL HURWICZ 

Local area networks may be overkill when the goal is simply to share equipment. An alternative is a peripheral-sharing switch, 
which comes in either mechanical or electronic varieties. It costs less, requires less memory, and certainly is easier to install. 

186 


9 DIRECTIONS 

Declaratii 'e Programming 

15 LETTERS 
32 TECH RELEASES 


49 TECH NOTEBOOK 

Underline Fix for the EGA 

207 PRODUCT WATCH 

• SIMPLE 
TASKVIEW 
TopDOS 


215 EXPERT CONSULTANT: 
APPUED AI 

When a Program 
has to Work 

223 BOOK REVIEWS 

Windows Opened 


225 TECH MART 

232 TECH MARKETPLACE 

244 CALENDAR 

245 READER SERVICE CARD 


Cover illustration • Andy Levine 










































Software Tools 

For Programmers & Non-Programmers 


Get ‘State of the Art’ performance 
and save valuable time with these 
high quality utilities! 

Opt-Tech Sort™ 

Opt-Tech Sort is a high performance Sort/Merge/Select 
utility. It can read, sort and write a file faster than most 
programs can even read the data. Example: 1,000 
records of 80 bytes can be read, sorted and a new file 
written in less than 10 seconds (IBM XT). Opt-Tech Sort 
can be used as a stand-alone program or called as a 
subroutine to over 25 different programming languages. 

All the sorting, record selection and reformatting facilities 
you need are included. A partial list of features includes: 
The ability to process files of any size. Numerous 
filetypes are supported including Sequential, Random, 
Delimited, Btrieve, dBASE II & III and many others. Up 
to 10 key fields can be specified (ascending or descend¬ 
ing order). Over 16 different types of data supported. 
Powerful record selection capability allows you to specify 
which records are to be Included on your output. Record 
reformatting allows you to change the structure of your 
output record and to output special fields such as record 
numbers for use as indexes. 

MS-DOS $149. ★NEW^ Xenix $249. 


★ NEW* rtn-l ino ★new* 

VERSION version 

On-Line Help allows you to easily add “Help Windows” 
to all your programs. On-Line Help is actually two help 
packages in one. You get BOTH Resident (pop-up) and 
Callable Help Systems. 

The resident version allows you to add help to any 
system. Your Help System is activated when the “Hot 
Keys” that you specify are pressed. You can then chain 
between help windows In any manner you desire. 

The callable version allows you to easily display help 
windows from your programs. A simple call to the help 
system makes the window appear. The original screen 
is automatically restored when the help window is 
cleared. On-Line Help is callable from over 20 different 
languages. 

You have full control over the help window content, size, 
color and location. 

MS-DOS $149. Demo $10. (apply toward purchaae). 


Scroll & Recall™ 

Scroll & Recall is a resident screen and keyboard 
enhancement. It allows you to conveniently scroll back 
through data that has gone off the top of your display 
screen. Up to 27 screens of data can be recalled or writ¬ 
ten to a disk file (great for documenting systems opera¬ 
tions). Also allows you to easily recall and edit your 
previously entered DOS commands without retyping. 
Scroll & Recall Is very easy to use. It’s a resident utility 
that’s always there when you need It. MS-DOS $69. 

Visa, M/C, AMEX, Check, Money Order, COD 
or Purchase Orders accepted. 

To order or to receive additional information just call 
and receive immediate highly qualified attention! 

Opt-Tech Data Processing 

P.O. Box 678 — Zephyr Cove, NV 89448 
_ (702) 588-3737 _ / 

CIRCLE NO. 222 ON READER SERVICE CARD 

4 



TOURNA 




VOL. 5, NO. 9 

PUBLISHER: Newton Barrett 
EDITORIAL DIRECTOR: Will Fastie 
EDITOR: Julie Anderson 

EDITORIAL CONSULTANT: Marjory Spraycar _ 

EDITORIAL 

EXECUTIVE EDITORS: Susan Holly, David Methvin 
MANAGING EDITOR: Gail Shaffer 
SENIOR TECHNICAL EDITOR: Jim Shields 
TECHNICAL EDITORS: Caroline Halliday, Ted Mirecki 
ASSOCIATE TECHNICAL EDITOR: Maxine Fontana 
SENIOR COPY EDITOR: Bruce Ansley 
NEW PRODUCTS EDITOR: Carole Eyring 
BUSINESS MANAGER: Trish Ledbetter 
EDITORIAL SECRETARY: Valerie Rose 
RECEPTIONIST: Sharlene Sillaman 

CONTRIBUTING EDITORS: Steven Armbrust, Dave Browning, Richard M. 
Foard, Ted Forgeron, Thomas V. Hoffmann, Henry F Ledgard, 

Max Stul Oppenheimer, Richard L Schwartz, Robert E. Shostak 

ART & PRODUCTION 

CREATIVE DIRECTOR: Ina Saltz 

ART DIRECTOR; Sharon Reuter 

ASSOCIATE ART DIRECTOR: Courtney Barone 

ASSISTANT ART DIRECTOR: Crystal Hopkins 

PRODUCTION MANAGER: Alison Regan Mrohs 

CONTRIBUTING ARTISTS: Mociek Albrecht, David Povilaitis 

ADVERTISING SALES 

NATIONAL SALES MANAGER; Rita Burke 
ADVERTISING MANAGER/WEST COAST: Phyllis Egan 
MARKETING DIRECTOR: Marti Cunha 
SALES SUPPORT ADMINISTRATOR; Lucy Frazer 
ADVERTISING COORDINATOR: JeanMarie Donlin 
MARKETING COORDINATOR: Kim Schroeder 

DISTRICT MANAGERS: Bill Barney’ — Southeast; Gayl Sorota—New England; 
John Blake — Mid-Atlantic; Mike Leonard — Midwest; Steve Moorman, 
Deborah Gisonni, Nan Hanna—West Coast 

ACCOUNT REPRESENTATIVES: Mary> Martin—Southeast and New England; 
Nannette Vilushis—Midwest and Mid-Atlantic; Carey Clarke, Patti Ahlswede — 
West Coast; Classified Advertising Director—Kathryn Cumberlander 

CIRCULATION 

CIRCULATION MANAGER: Charles Mast 
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig 
MEDIA MANAGER: Melinda Kendall 

RETAIL SALES MANAGER: Carol Benedetto _ 

ZIFF-DAVIS PUBLISHING COMPANY, a division of Ziff Communications Co. 

PRESIDENT: Kenneth H Koppel 

SENIOR VICE PRESIDENT, Marketing: Paul H Chook 

VICE PRESIDENT, Operations: Baird Davis 

VICE PRESIDENT, Controller: John Vlachos 

VICE PRESIDENT, Creative Services: Herbert Stem 

VICE PRESIDENT, Research: Marian O. White 

VICE PRESIDENT, Circulation: Alicia Marie Ivans 

VICE PRESIDENT, Circulation Services: James Ramaley 

VICE PRESIDENT, Marketing Services: Ann Poliak Adelman 

VICE PRESIDENT, Development: Seth Alpert 

VICE PRESIDENT: Hugh Tietjen 

BUSINESS MANAGER; Gary A Gustafson 

PRODUCTION DIRECTOR: Walter J. Terlecki 

ZIFF COMMUNICATIONS COMPANY 

CHAIRMAN: Philip B. Korsant; PRESIDENT: Kenneth H. Koppel; SENIOR VICE PRESIDENT: 
Philip Sine; VICE PRESIDENTS: Laurence Usdin, William L Phillips, J. Malcolm Morris, 
Steven C. Feinman; TREASURER: Selwyrt I. Tauhman; SECRETARY: Bertram A Abrams 

EDITORIAL OFFICE 

PC Tech Journal, Suite 800,10480 Little Patuxent Parkway, Columbia, MD 21044. 301/740- 
8300. FAX (group 3): 301/740-8809. MClMail: PCTECH. PCTECHline: 301/740-8383. Telex: 
6502565932 MCI. 

ADVERTISING OFnCES 

(East Coast/Midwest) Suite 800, 10480 Little Pamxent Parkway, Columbia, MD 21044. 
301/740-8300. (Mid-Atlantic) 118 Palisade Avenue, Suite 5C, ClifFside Park, NJ 07010. 
201/945-8833. (West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387-2100; 
11 Davis Drive. Belmont. CA 94002. 415/598-2290. _ 

SUBSCRUmON INQUnUES 

PC Tech Journal, P.O. Box 2968, Boulder, CO 80321. Subscription service: 800/525-0643, 
303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to Ziff-Davis Publishing. One 
Park Avenue, 4th floor, New York, NY 10016. ____ 

PC Tech Journal (ISSN 0738-0194) is published by Ziff-Davis Publishing Co., a division of 

Ziff Communications Co., One Park Ave., New York, NY 10016. Published monthly except 
semi-monthly in December. Subscription rate is $34.97 for one year (13 issues). Additional 
postage for Canada and Foreign is $.60/copy or $8.00/year. Second-class postage paid at 
New York, NY, and at addition^ mailing offices. POSTMASTER: Send address changes to PC 
Tech Journal, P.O. Box 2968, Boulder. CO 80321._ __ 

PC TECH JOURNAL is an independent journal, not affiliated in any way with International 

Business Machines Corporation. IBM is a registered trademark of International Business 
Machines Corp. Entire contents Copyright ® 1987 Ziff-Davis Publishing Company, a division 
of Ziff Communications Company. All rights reserved; reproduction in whole or in part 
without permission is prohibited. Direa written requests to Jean Lamensdorf, Licensing 
Manager, Reprints/Rights & Permissions, One Park Avenue, New York, NY 10016. 

A. 1985 AWARD FOR 

BEST COMPUTER MAGAZINE 
Computer Press Association 


WBPA 

▼ saasT’ 
























INTRODUCI NG 

PEMSCOPE m 




Q uickly and thoroughly debug your soft¬ 
ware with this new real-time hardware 
breakpoint debugger. You’ll be amazed at how 
easily you track down the most elusive bugs! 


A new generation of debugging is 
here! Nowhere else can you 
invest less than SIOOO and get the 
power of the new Periscope III 
board’s hardware breakpoints and 
real-time trace buffer! The same board 
works on both PC- and AT-class 
machines, so you don’t have to buy two 
boards just because you have two com¬ 
puter systems. 

Now almost anyone doing serious 
software development can afford the 
most powerful debugging tool available 
short of a S 10,000 in-circuit emulator! 

Imagine the competitive edge this 
gives you when you’re developing com¬ 
mercial software. Think of the time 
you’ll have to devote to new develop¬ 
ment instead of debugging current 
software. 

MMake reaMime software solid. 

You can track down bugs in time- 
sensitive systems that can only be 
found when you’re running your pro¬ 
gram at full speed. 

MSave lots of debugging time. You’ll 
find those uninitialized pointers, inter¬ 
mittent errors, and other subtle bugs 
that would take too long to find with a 
software-only debugger. 

MOptimize your code. Using the bus 
cycle information saved in the real-time 
trace buffer and Periscope’s high- 
resolution timer, you can find and 
eliminate the bottlenecks in your code. 

M Explore your system. When you 
need to understand what’s going on in 
your system, you can examine it 
thoroughly with Periscope III. 

M Features to whet your appetite. 

Periscope III is the most comprehen¬ 
sive, flexible, and easy-to-use product of 
its kind! Here are just a few of its 
features: 

• Set hardware breakpoints on up to l6 
ranges of memory and I/O ports 

• Qualify breakpoints with data values 
and a real-time pass counter 

• Don’t worry about zapping the 
Periscope software—the 64K of write- 




The new Periscope III board is extremely 
powerful, yet easy to use. Debug your pro¬ 
gram at full speed with its hardware break¬ 
points, then examine what's happened in 
its large real-time trace buffer. You don’t 
have to worry about zapping Periscope’s 
code, because it’s in write-protected RAMI 


protected RAM protects it from runaway 
programs 

• Capture the last 8K bus events in the 
real-time trace buffer while your pro¬ 
gram is running at full speed; specify 
that the buffer capture only trigger 
events, if that’s all you need to see 

• Display the real-time trace buffer in 
any of three formats; position the trig¬ 
ger event at the top, center, or bottom 
of the buffer 

t Protect your investment. Order 
Periscope with confidence because it’s 
a proven product—it does its job and 
does it well. Periscope’s been on the 
market for over two years and it keeps 
getting better. The only debugger ever 
chosen Product of the Month by PC 
Tech Journal, Periscope is used daily by 
thousands of developers who depend 
on its flexibility and robustness. 

Under our 30-day money-back 
guarantee, you get your money back if 
Periscope doesn’t perform to your 
liking. There’s a full one-year warranty 
on the hardware. 

You get technical support and your 
first software update free of charge. We 


The I 

PERISCOPE 


notify you of subsequent 
updates for which there’s a 
nominal charge, currently 
$ 20 . 

Once you learn Periscope’s 
commands, you can easily 
use any model. Only when 
extra commands are needed 
to deal with model-specific 
hardware (there are an additional dozen 
commands in Periscope III) are there 
any differences. 

You can always trade up to another 
model of Periscope for the difference in 
price plus a small fee, currently $10. 
With the release of Periscope III, there’s 
a model that fits virtually every 
developer’s needs and budget. 

Can you afford not to try 
Periscope? 

Ask current users about Periscope’s 
price/performance. They tell us that 
Periscope pays for itself in a matter of 
hours, and that they can’t live without 
it! 

Periscope III includes a board 
with 64 k of protected program 
memory, hardware breakpoints, 

& a real-time trace buffer; a break¬ 
out switch; software; a 200-page 
manual; & a quick-reference card, 
all for $995 (8 MHz) or $1095 
(10 MHz). 

Note: Periscope III works on the IBM 
PC, XT, & AT, the Compaq 286, and 
other 100% compatible machines. 

Please call to confirm compatibility 
with your machine. 

Other models of Periscope include: 
Periscope I (Board & Switch) . . $345 

Periscope II (Switch). $175 

Periscope H-X (Software only) . $145 


Call toll free 
1-800-722-7006 
for more 
information 
or to order. 


14 BONNIE LANE 
ATLANTA, GA 30328 
404/256-3860 


Company, Inc. 


CIRCLE NO. 215 ON READER SERVICE CARD 















T 



‘This is a true multi- 
^ user database. 
When we saw 
the automatic 
screen up- 
(dating; you 
could've 
; scraped our 
jaws off the 


^Paradox 2,0 will do for the 
LAN what the spreadsheet 
did for the PC.” 


David Schulman 
^ndix Aerospace 


Jim Reichel 
\ •!; Atlantic Business 


“From a stand¬ 
point of ease of 
usey concurrency 
andperformancey 
Paradox 2.0 
redefines the 
meaning of 
, ,fmultiuser'.” 


'Paradox 2.0 should make 1987 the 
year of the network.'' 


John E McMullen 
McMullen &l MpM 


Bob 

Metcalfe 
, 3Com 
Corporation 




f“It answers our wish listy 
providing a painless way to 
go from single to multiuser 
applications.” 

. Barry L. Smith . 

\\ Elf Aquitaine 


“The multiuser capabilities 
are transparent. It adapts to 
fyour needs.” 


Glen Herbert 
Software Developer 


ow to keep up with 


©1987 Ansa Software. Paradox is a registered trademark of Ansa Software. Lotus is a registered 
trademark of Lotus Development Corporation. dBASE is a registered trademark of Ashton-Tate. 








amcurrent events 



“Record locking is 
incorporated into the 
interface so the user 
doesn't have to worry 
about it” 


Harry Strauss 
Microtec Planning 




“The great thing is 
that it does more of 
the network thinking 
for you” 


Michael Addice 
Aveco Computer 
Services 


Introducing Paradox 2.0, More power for single 
users, unparalleled power for multiple users. 


New Paradox® 2.0 puts the power of the 
emerging database standard into every' 
one’s hands. Single users and multiple 
users. Now everyone you work with 
can share data in a way that no other 
multiuser PC database can offer. 

For single users, Paradox 2.0 im' 
proves the standard that Paradox 1.1 set 
for ease of use, speed and power. 

For multiple users, Paradox 2.0 offers 
that same performance plus the un' 
equaled ability to edit, browse, query, 
sort and report a file concurrently—to 
get information in real time. 

Same time, same network 

Our multiuser capabilities work like an 
airline reservation system, where people 
share and update information constant' 
ly. Without getting in one another’s 
way. This transparent, concurrent data 
sharing lets users do things that are im' 
possible in other PC databases. 

For example, other databases often 
lock entire files, or lock records to make 
data below inaccessible. 

Paradox 2.0, on the other hand, lets 
users edit, browse, query, sort and ere' 
ate reports in the same file at the same 
time. Records lock automatically, telling 
others the user’s name, and leaving data 
below accessible. When revisions are 
made, the changes appear on all screens 
in real time. All without the speed loss 
that plagues most multiuser databases. 
With all these features, Paradox helps 
more people get more done. 

Program notes 

Paradox 2.0 is a powerful tool to develop 
both single and multiuser applications 


that let your users concentrate on solv' 
ing problems. 

’feu get a lot to work with. Our Lotus*' 
like interface is easy for users to under' 
stand. And our artificial intelligence 
hides the program’s complexity. 

On top of this, we’ve added en' 
hancements. A “Zoom” command in 
queries pinpoints data faster. More re' 
port options are available. Record 
capacity is two billion. And EMS and 
EEMS speed processing of the largest 
applications. So users get programs 
that are both powerful and simple. 

We’ve made your life easier, too. 
Paradox has always had a decisive prO' 
gramming advantage over dBASE® cut' 
ting development time and costs by up 
to two'thirds. Now, you get even more 
power, with 48 new Paradox Applica' 
tion Language commands and funC' 
tions; sample applications and a data 
entry toolkit—many for multiuser de' 
velopment. Paradox 2.0 even lets you 
use your choice of editor as if it were 
part of the system. 


Eyewitness report 

Study these current events and it’s not 
surprising that American Airlines, 
Mass Mutual, American Savings 
Loan and others are standardizing on 
Paradox. Not for one reason, but for 
many. 

To get the firsthand story, call LSOO' 
447'4700, Department 255. Just ask for 
information and the location of an 
Ansa dealer, who can give you a free 
Paradox 2.0 demonstration diskette. In 
theU.K.,call01'580'4766. 







WHO YA GONNA CAU? 
BUGBUSTERS! 



0P (<onter> for next p&ge) 

COJfE OPEMfOm — (ftay other key to exit trace) 

C»ptF). Worker tl). IQ = 199 ; 

mra mv’^ ”■* 

K mn - C7 

90 (KPtr). WorJtop fl 3 ' Salary = 1880801 

« 17 C wou K.IWM m tJP+rrra 

Bsras ~ ___ 

e^:0B36 « 65 6K 72 79 80 8* IF FS 83 22 88 Sfl 8ft aHear,. 

f ’ **** 

■pTM.MOJKHflM® = C7 

roJ.WMmil.lIRTOFKIK = B8U 

‘pTH.W8*I*tlJ.SVIC0WJ = BM«II 


PROBE knows all 
about your local 
and complex 
variables. You can 
display and 
change an array 
of structures as 
easily as shown in 
this display. 


probe's menu 
window means 
you do not have to 
look up debug 
commands in the 
manual. Entering 
the command 
name shows you 
command syntax. 


This is how 
PROBE displays 
real-time trace 
data. Trace 
information 
includes C source 
code, assembly 
language and 
data which was 
read or written 
during instruction 
execution. 

PROBE software 
simplifies the 
display by tossing 
out prefetched but 
unexecuted 




“Real-time source-level debugging of very large programs simply can^t he done 

without Atron^s AT PROBE. ” Ed Oates, Director of PC Software Development, Oracle Corporation 


T he good news with your new Microsoft 4.0 or Lattice* 
C compilers is that they’re providing more symbolic 
debugging information than ever. The bad news is you 
can’t fit your program, a software debugger and that monster 
symbol table into memory - at least at the same time. 

The great news is that Atron’s AT PROBEhardware- 
assisted software debugger not only has 1-MByte of onboard 
memory for debugger and symbol table, but it now supports 
local variables and complex data types. 

The AT PROBE is a debugging tool that plugs into your PC 
AT and monitors everything the processor is doing. In real 
time. 


With AT probe’s real-time trace capability, program 
execution history is saved on-board, in real time. Once a 
hardware trap has occurred, PROBE displays the program 
execution in detail, including symbols and source code. Real¬ 
time trace can show you how out-of-range pointers got that 
way. And there’s really no other way to debug interrupt-driven 
code. 

AT PROBE OPTIMIZES THE OPTIMIZED 

When the job of bugbusting is done, your AT PROBE 
becomes a performance analyzer. So you can have both 
reliability and performance. So you can send only the best 
software into the field. 






t Systems, Inc 
CA 95070 


REAL TIME DEBUGGING. 

SOONER OR LATER, YOU KNOW YOU’LL NEED IT. 

The AT PROBE’S hardware-assisted breakpoints trap on 
reading, writing, executing, inputting and outputting. On 
single or ranges of addresses, including particular variable 
values. All in real time. For a mere software debugger to 
attempt this, a 1 minute program would take 5 hours to 
execute. 


OPTIMIZED CODE - GOOD, BAD AND UGLY 

The good news is optimizing compilers generate 
very tight code. The bad news. The time to debug 
optimized code is inversely proportional to the quality 
of the optimizer. Figuring out how in the world you 
ended up somewhere gets ugly, fast. 


CALL TODAY FOR YOUR FREE BUGBUSTING MANUAL 

Nine of the top ten software packages were debugged using 
Atron tools. Our complete tutorial on state-of-the-art bug¬ 
busting is yours, free. Full of examples and illustrations, it 
will show you how to become a bugbuster yourself 
Call today. Bust bugs tomorrow. 


BUGBUSTERS 

A division of Northwest Instrumer 
20665 Fourth Street • Sarat( 
408/741-5900 


CIRCLE NO. 203 ON READER SERVICE CARD 


*Soon to be supported. Copyright © 1987 by Atron. AT PROBE is a trademark of Atron. IBM and Oracle own numerous registered trademarks. 


Adv. by TRBA. 







DIRECTIONS 


WniFASTBE 


Declarative Prograniming 

Proceduralprogramming is for eypertE, 
but there are not enough of them to go around. 



I have been spending some time lately 
with application generators. I mean, I 
have actually attempted to use some of 
these products to build small applica¬ 
tions—programs I might have written 
in Pascd or BASIC two years ago. 

Although^application generators 
have been around for a long time, pur¬ 
porting to be such productivity gems, 
most have not lived up to their claims. 
This time around, however, a couple of 
these products are truly impressive and 
may point toward a much brighter fu¬ 
ture for developers, especially consult¬ 
ants and nonprogrammers. Others are 
somewhat less impressive, but still rep¬ 
resent important levels of utility and 
productivity for developers. 

Sophisticated program generators 
are important for two reasons. First, 
professional programmers can be vasdy 
more productive if the computer can 
do a significant amount of the work, 
freeing them from the details and al¬ 
lowing them to concentrate on the de¬ 
sign and validation of an application. 

Second, nonprogrammers trying to 
mount an application will find it possi¬ 
ble to do so, whereas conventional 
programming might be burdensome. 

In both cases, the company who is 
paying the bills reaps significant re¬ 
wards: lower project costs and the op¬ 
portunity to nibble away at the growing 
applications backlog. 

For a while, during the micro rev¬ 
olution, many thought the backlog of 
applications waiting to be developed 
diminished. While it did not vanish 
completely, a lot of pressure came off 
centralized departments as clever end 
users figured out ways to solve isolated 
problems with a tiny computer and a 
simple program. Data management soft¬ 
ware then came along for desktops and 
allowed more sophisticated users to 
solve more complicated problems. 
Today, however, the user departments 
are facing problems far too complex to 
be solved by developers without a 


strong technical background. Result: the 
applications are starting to back up 
again because there just are not 
enough technically qualified people to 
go around. Anything that can break the 
logjam will be extremely valuable. 

TABLES, TABLES, TABLES 

One of the two application generators I 
recently tried and liked is Magic PC, 
“The Un-Language,” from Aker Corpo¬ 
ration in Irvine, California. This prod¬ 
uct extends the well-known data dic¬ 
tionary concept to menus and proce¬ 
dures. The task of creating an applica¬ 
tion is reduced to filling out tables— 
for the data structure of each file, the 
hierarchy of menus, and the actions 
taken as a result of making a menu 
choice. (PC Tech Journal will review 
Magic PC in the October issue.) 

Although the data dictionary can 
sometimes seem procedural in nature, 
it is especially disconcerting to use if 
you happen to be a programmer. Pro¬ 
grammers must overcome the tendency 
to write a loop or an IF statement and 
instead must learn just to add a row to 
the table that describes an action. How¬ 
ever, the declarative style of Magic PC 
is seductive, as is the ease with which 
an application can be constructed in 
piecemeal fashion, in the order the 
developer desires. In fact, parts of the 


application can be left undone (stubs) 
while the developer gets the critical 
parts up and running. 

Best of all. Magic PC provides a 
facility to verijy the application. At any 
time, the developer can ask Magic PC 
to check the integrity of the application 
system. Inconsistencies are reported to 
the developer, who can then make the 
necessary changes. This is very helpful: 
the program is fast and thorough at 
running through all the dictionaries 
and verifying that they make sense. 

Magic PC does have its own set of 
idiosyncrasies. The developer is limited 
to Magic PC’s style of menus and 
screens and cannot attach a Magic PC 
application to other code. Clearly, how¬ 
ever, it can save the developer count¬ 
less hours for a reasonably large cate¬ 
gory of application types. 

MENUS, MENUS, MENUS 

The big draw for the new version 2.0 
of Paradox is supposed to be its net¬ 
work capabilities. They are, in fact, 
quite good. However, a tool supplied 
with Ansa’s Paradox called the Personal 
Programmer (PPROG), along with an¬ 
other standard feature called the Data 
Entry Toolkit, promises to draw even 
more attention. 

PPROG is a tool (a big tool) that 
guides the developer through an appli- 


SEPTEMBER1987 


9 


ILLUSTRATION • MACIEK ALBRECHT 




DIRECTIONS 


cation from beginning to end. As with 
Magic PC, the developer mostly fills out 
tables, although sometimes PPROG in¬ 
vokes the Paradox form or report gen¬ 
erator with which the developer must 
be familiar. PPROG is a guardian angel; 
it watches everything you do, checks 
validity on the fly, and complains when 
it finds an inconsistency. 

For example, I suggested an erro¬ 
neous table relationship to PPROG dur¬ 
ing the construction of a sample appli¬ 
cation. PPROG quickly reported that 
there did “not seem to be a one-to-one 
relationship” between the tables, a re¬ 
quirement for the particular situation. 
That’s a tricky bit of information for the 
program to know, and it is an example 
of PPROG’s sophistication. 

Once the application has been de¬ 
fined, it can be tested within the 


NEWOIDFACES 

A number of important changes, are 
taking place at PC Tech Journal A 
rash of promotions from within have 
given old faces new responsibilities, a 
reflection of the strong editorial staff 
that works so hard for you. 

First, I am now the editorial di¬ 
rector, a position that carries two, 
mandates: to probe and report on 
products and trends and to lead PC 
Tech Journal into an ever more visi¬ 
ble position in the industry and 
among systems developers and inte¬ 
grators. Working to see a magazine 
that I helped bring to life grow into a 
stronger voice is a role I relish, 

I have turned the editorial helm 
over to Julie Anderson, who has been 
executive editor and my right hand 
for nearly four years. From the very- 
first she showed the matogs of a 
good editor: sharp mind, keen intui¬ 
tion, and the courage to ask why and 
say no*—-why are we interested in a 
topic; no, that article is not good . 
enough for our pages. She is a com¬ 
puter Scientist by training and a ten- 
year veteran of the computer indus¬ 
try. PC Tech Journal will grow and 
thrive under her able leadership. 

Julie’s first order of business was 
a staff reorganization. Two newly ap¬ 
pointed executive editors will oversee 
our unique combination of journalis¬ 
tic excellence and technical accuracy: 
Susan Holly, our savvy chief copy edi¬ 
tor for the last three years, will lead 
our writing/reporting efforts; Dave 
Methvin, our . talented technical editor 


PPROG environment. If the design is 
not to the developer’s liking, it can be 
modified. Once the developer is satis¬ 
fied with the application, PPROG gener¬ 
ates Paradox Applications Language 
(PAL) code. It creates procedures, func¬ 
tions, modules, and even libraries. The 
resultant scripts can be run under Para¬ 
dox or the Paradox runtime program. 
Even after the code has been gener¬ 
ated, PPROG can be used to modify the 
application if the PAL code has not 
been manually modified. 

For my simple application, I spent 
an hour designing it and 90 minutes at 
the keyboard using PPROG, which then 
spent about 7 minutes generating more 
than 1,000 lines of PAL code. The pro¬ 
gram worked the first time. Writing and 
debugging the same PAL code would 
have taken me about two days, and that 


-in charge of LAN , coverage, will guide 
the technical side. 

Not everyone is moving up the 
masthead. Our founding managing 
editor, Marjory Spraycar, is migrating 
to an entirely new!: .masthead to be the 
editor of i magai 

zine she is launchiag for parents ofr 
elementary school children. She . 

I leaves with our yeiy best wishes. 

With superb organizational and 
editorial skills, Gail Shaffer glides into 
, the managing editor’s slot. Gail has 
been with us for &ree years, most., 
recently serving as senior copy editor. 

Bruce Ansley, a Texan with the 
magic touch when it comes to word 
processing and electronic typesetting 
procedures, assumes Gail’s duties as 
senior copy editor. :. 

On the artistic side of the organi¬ 
zation, Sharon Reuter, associate art ; 
direaor for 2Vz years, will continue to 
lend us her visual imagination, now 
from the perspective of the art direc¬ 
tor’s chair. Ina skl^ a name you may 
remember from rnonths past, is back 
on the masthead as creative direaor. 

Trish Ledbetter, our administra¬ 
tive heart and soul, becomes our 
business manager, a position in which 
she will have increased responsibility 
for our business and financi^ afftos, 
as well as being an able assistant to 
both Julie and me; 

I offer my heartiest congratula¬ 
tions to all for their dedication, hard 
work, and well-deserved, promotions. 

—WF 


is being generous with a coding rate of 
50 lines per hour. 

As with Magic PC, PPROG has its 
limits. It cannot handle all situations 
and cases. Data entry, reports, and 
forms are somewhat more restricted 
compared with the possibilities under 
direct PAL control. Menus are limited to 
Paradox-style menus. However, the ad¬ 
vantage of the approach is that a basic 
application can be generated quickly 
with PPROG and then manually fleshed 
out to incorporate more sophisticated 
tasks and actions. 

The Data Entry Toolkit is a pecu¬ 
liar but powerful addition to Paradox. 
Previously, Paradox allowed the PAL 
programmer to display a form and wait 
for it to be filled in, returning control 
to the program when the programmer 
pressed one or more predefined keys. 
Now, however, something resembling a 
tiny objea-oriented language is built 
into the wait facility and allows the 
programmer almost keystroke-by¬ 
keystroke control over the data-entry 
process. Although each action to be 
taken must be written procedurally, the 
set of actions for a given form are con¬ 
structed in a more declarative style. 

DECLARATIVE SPEED 

Both Magic PC and PPROG do a lot of 
work in relatively short order and 
make few demands of developers other 
than that they know the basic product 
well (this is especially important for 
Paradox; novices can work with Magic 
PC) and approach the tool with the 
application design in hand. 

Actually, the latter requirement is 
only partly necessary. Both tools sup¬ 
port the development of an application 
in pieces and allow easy modification 
of a previously generated application, 
so both can be used by those who are 
trying to cobble a program together 
without any forethought. Obviously, the 
productivity advantage diminishes as 
the level of hacking increases. 

For the developer with a well- 
designed application, preferably on 
paper, tools like these two result in an 
enormous productivity increase. The 
developer can avoid a large number of 
details, with the side effect of greatly 
reducing the opportunity for error. 

Development speed and reliability 
are the two hallmarks of the declarative 
style of programming. What we need 
are more tools like Magic PC and 
PPROG that are even more sophisti¬ 
cated and resourceful so that develop¬ 
ers can crank out applications of 
greater complexity and reliabiliry. luiuniiiii^l 


10 


PC TECH JOURNAL 



TRY ORACIE'S $1295 SQl DBMS 
FOR ONLY $199 TODAY. 

OR ORDER THEIR VAPORWARE. 


If you’re looking forward 
to OS/2 and the next gen¬ 
eration of PC database 
management systems to 
enable you to build larger, 
higher-quality PC applica¬ 
tions, you’ll be interested 
to know that: 

• Ashton-Tate has announc¬ 
ed its intention to replace 
its outdated database tech¬ 
nology with a SQL DBMS 
under OS/2, and 

• IBM has cuinounced its __ 

intention to offer SQL for 

OS/2 in its Extended Edition. 

All you have to do is wait. Wait 
for OS/2 and SQL. Wait until mid- 
1988... or later! Meantime you 
keep developing with soon-to-be 
obsolete dBASE™ technology. 

But you don’t have to wait for 
SQL on the PC. 

Oracle has it now. And you 
don’t have to wait for OS/2 to run 
programs larger than 640K. The 
ORACLE® DBMS allows you to run 
OS/2-size programs under today’s 
MS-DOS™ 

ORACLE is the number-one sell- 


Hfear Ashlon-Taterj 

20101 Hamilton Avenue I 

Torrance, CA 90502 

Since you’ve announced your inten- I 
tions to go to SQL, I really don’t feel ■ 
like developing obsolete applications I 
in dBASE. 1 have every confidence your I 
first attempt will be full-featured and 
bug-free. Send me what you’ve got, I 
when you get it. | 


— H t, - Tin t . . . 

y i Irr i«‘’* f 


Kiln n-f. . Bn 

ORnci.E 




OKrtOI.B ?.06^3HC> Mod., Exo.,.,ti 


ing DBMS on both minicomputers 
and mainframes. If you try PC 
ORACLE, we think you’ll make us 
number-one on PCs, too. That’s why 
we’re making you this special offer. 

We’ve sold thousands of copies 
of PC ORACLE for $1295. But now, 
for a limited time, we will send 
you the same, full-function version 
of ORACLE for only $199.* 

That’s right. Only $199 for a PC 
SQL DBMS that is identical to the 
ORACLE that runs on minicom¬ 
puters and mainframes. $199 for 
the only PC DBMS that lets you 


n>ear IBM, 1 

Old Orchard Road I 

Armonk, NY 10504 

Attached is a blank check. I keep read- I 
ing that you’ve already announced ■ 

that you’re going to announce SQL for I 
OS/2 and the Personal System/2. | 

When you do, fill in the check amount. 
Hope to hear from you sometime in I 

the next couple years. | 


1 Name 

1 

1 Name 


Title 

.. '1 

Title 

1 


1 Company 

/ 'T 

\ 3 

1 Company 

■ ‘ » 

■ Street 

>. ' 
i ./ 

■ Street 



) 

1 City 

J f*/' 

- -»(r t 


z«p [t 

mmm mmmm 

jj^^^ate 



11 
11 


write larger-than-640K, 
OS/2-size programs and 
run them under today’s 
MS-DOS. 

ORACLE makes it easy 
to write large, high- 
quality applications using 
industry-standard SQL. 
Applications that run 
faster. Applications that 
are easier to use and 
have more capability. 
Multi-user, networked 
applications. Applica- 
,tions that can be devel¬ 
oped on MS-DOS today, and then 
run unchanged on OS/2, mini¬ 
computers and mainframes. 

So stop writing dead-end dBASE 
code today. And stop writing 
cramped, limited-to-less-than-640K 
applications. Call 1-800-345-DBMS 
today. Or use the rightmost 
coupon. Or mail one of the other 
coupons. And wait. 

ORACLE* 

COMPATIBILITY » POBTABIUTY » COHWECTABILITY 

Call 1-800-345-DBMS today. 

--^ 

I Dear Oracle, ■ 

I PC ORACLE • Oracle Corporation I 

20 Davis Drive • Belmont, CA 94002 

I want to run OS/2 ORACLE on MS-DOS today. 

I agree to use this license only for application 

I development. I understand all prices include ■ 

applicable taxes and postage. I 

Send me (check only one): I 

I D PC ORACLE.$199 ■ 

□ ORACLE + 1MB Extended memory.$599 I 

□ ORACLE + 2MB Extended memory.$799 | 

I’m paying by □ Check □ VISA □ MC □ AMEX _ 


I 


I 


Print Name 

Date 

Company 

Title 


1 

State Zip J 

■ Credit Card Number 


1 Card Expiration Date 


j^^^^^nature 

PCTJ-9 *’^-4 


On6OrKleParkway-B«lm<»flt.CA94IK12.W0rldHeaflquartBr»|415)598.8000.fol08rv(4O3m5.2e22-Ott»W3{6t3}238.?3at.Qu«bae(514W5^^^^^^ 

*PC ORACLE requiras an ”08/2 rfa<ly’'28«/386-bMBd PC runnlBfl DOS 3.1+with 1MB eatMdedmemofY (2MB 1»r«eomm*ntta(l) and* minimum 10MB wrdmikwlvB. ^ tabi 


*PCORACLErequirflsan'’OS/2rfady’'28«/386-u«Bwi«i«i....»»—w».. ■ ---------■ . „ ,, t 

Copyrlqhl © 1987 by Oracl* Corporallon. ORACLE it a regltlBrBd Uademaric of Oracla Corporallon. Tha other companlei mBOlloned own nomeroBt ragiittred tradoniarlcs. Even tha Vaporware la iraaamarliea. 































P/N 202138-002 


PS/2’Memory 
CXrrNa^ 


y.'iy V.'- '«'»cs-> - 

5 V 1 t ~ t; ? I s t! I ^ I - 1 5h' I ■'. - . I 'J,;■"■"■■'" 

W ? . g -=. I' S - 13 a I >•? -!> ! ■?. A S A t S A S 5 . rr* ^oalsz 1 3 X 

C, 1 *• ' « . , . - • ; . I „ TI61 • «» w 

TAr •' SJ.;, 


|BRNK J 

I— 


l .I- W \ \0 rj 

i, S -1, ! S - 


H' ^ I ^'Z i - T j 




^‘1 ■■ ^ 

p;. i • » ^ '1..- * 


X ■ i.5., \'iS:l it ;it 


2t ' .z.- 


• ^; ‘ ■ 

BfiNK 3 


,, . /. -n^y •■'■■■■.: 

y:l * . 


flcIvcintogc/Z’ 


' ■' ■;■" r’,'^/';'','. aiV- il-' r. r ; ivI^-'pAiviririr. • ;■• i*f:"' -v'^l 

M -■ ‘ - ■-i: 


Advantage/2 for PS/2 50s and 60s offers up to 8 MB of memory, full Micro 
Channel™support and optional I/O capabilities. 









i45T atiukets prodact$ worldwide—in Europe cmOzdS I 56S 4350; in the F»r Eust ca/7; 852 0499 9113; in Canada caII: 416 826 7514. 

AST and .AST lo^ nsdstcred and AdmntageJ2, Rampa^lZ Srrurrt SiviUh and SuperPak trademarks of.AST Research, fne. IBM registered and 
PS12 and Micro Channel trademarks of International Business Machines Cprp. Copyright C 1987AST Research, Inc. All tights reserved. 




ft 

-IN 





























































EVEN MORE POWER 
AND FLEXIBILITY 

BRIEF 2.0 


Users and industry press alike have 
unanimously proclaimed BRIEF as 
the best program editor available 
today. Now, the best gets better, 
with the release of BRIEF 2.0. 

Straight from the box, BRIEF offers 
an exceptional range of features. 
Many users find that BRIEF is the 
only editor they’ll ever need, with 
features like real, multi-level Undo, 
flexible windowing and unlimited 
file size. But BRIEF has tremendous 
hidden power in its exclusive macro 
language. With it, you can turn BRIEF 


into your own custom editor con¬ 
taining the commands and features 
you desire. It’s fast and easy. 

Jerry Poumelle, columnist for BYTE 
magazine summed it all up by saying 
BRIEF is, “Recommended. If you 
need a general purpose PC program¬ 
ming editor, look no further." His 
point of view has been affirmed by 
rave reviews in G JOURNAL, 
COMPUTER LANGUAGE, DR. 
DOBB’S JOURNAL, DATA BASED 
ADVISOR, INFOWORLD AND 
PC MAGAZINE. 


One user stated “BRIEF is one of 
the few pieces of software that I 
would dare call a masterpiece.” 
Order BRIEF now and find out wlw. 
BRIEF 2.0 is just $195. If you already 
own BRIEF, call for upgrade 
information. 

TO ORDER CALL: 1-800-821-2492 
(in MA call 617-337-6963) 

As always. BRIEF comes with a 
30 day money-back satisfaction 
guarantee. 


^Solution 



. brief 2.0 enhancements! 

, 0 k at these BBitf ^ 

Main ,.1,011 wit" languS® 

(supports most 




BRIEF is a trademark of UnderWare, Inc. 

Solution Systems is a trademark of Solution Systems. 

CIRCLE NO. 130 ON READER SERVICE CARD 


Basic Features: 

. F J 

• at once 

. Edit many Me space 

. File size l®'®^ sensitive indenlaticn 
. Aolematie langoase 






LETTERS 



MISSING LINKS 

The article “Elegant Linkage” (Richard 
Halpern, May 1987, p. 132) on external 
subroutines for Turbo Pascal contains a 
number of errors in part because it 
generally agrees with the Turbo Pascal 
manual. This is a big mistake. The man¬ 
ual frequently differs with what Turbo 
Pascal actually does; at least, it does for 
all Turbo Pascal versions through 3.01 A. 
The following corrections to the Turbo 
Pascal manual as well as to the article 
in May should be noted. 

First, value parameters that are ar¬ 
rays or records are not passed as VAR 
parameters. The full array or record is 
copied to the stack just like any other 
value parameter. Second, value parame¬ 
ters that are sets do not require a full 
32 bytes on the stack. Instead, Turbo 
uses the abbreviated format that it gen¬ 
erally uses for storing sets. This format 
is described in the article’s sidebar, 
“Data Representation in Turbo Pascal” 
(p. 134). Finally, external functions 
should not return a Boolean value by 
setting the Z flag because Turbo Pascal 
ignores this. Instead they must be re¬ 
turned in the AX register like any other 
scalar (0 = false, 1 = true). 

In addition, the article omitted the 
following points, which should be 
noted by every programmer who 
writes external subroutines: 

If a value parameter is a string. 
Turbo passes a field, the length of 
which equals the maximum defined 
length for the string. The first byte of 
the field contains the current length of 
the string and the subroutine should 
use only this length. 

External procedures and functions 
must remove all parameters from the 
stack when they return because Turbo 
does not clear the stack. If this is not 
done, and the external subroutine is 
called repeatedly, garbage will be 
added to the stack by each iteration 
and the program ultimately will abort 
with a stack-heap collision error. 


The stack is cleared by exiting 
with RET n where n equals the total 
number of bytes occupied by the 
passed parameters. Example one in fig¬ 
ure 3 (p. 137) should have used a RET 
8 (4 bytes for a string of maximum 
length 3, 4 bytes for a VAR parameter). 
Example three in figure 5 (p. 138) 
should have used a RET 6 (2 bytes for 
a scalar, 4 bytes for a VAR parameter). 

When Turbo Pascal expects a func¬ 
tion result to be returned in a register, 
it pointlessly reserves an area on the 
stack for the result. This area must be 
removed from the stack along with the 
parameters. For example, given the fol¬ 
lowing definition: 

FUNCTION JUNK(R1 : REAL) : Boolean; 
EXTERNAL ’SUB.COM’; 

the machine code should put the Bool¬ 
ean result in AX and exit with a RET 7 
(6 bytes for a real parameter and 1 
byte for the Boolean result). Note that 
Turbo Pascal reserves only 1 byte on 
the stack for single-byte scalar results. 

In addition to being unnecessary, this 
is inconsistent with Turbo Pascal’s prac¬ 
tice of using a word to pass single-byte 
scalar parameters. 

The three-instruction sequence on 
lines 2 through 4 of example one (fig¬ 
ure 3) in the article is not the most ef¬ 
ficient way to load registers DS and BX 
with the segment and offset of a VAR 
parameter. Instead, the single instruc¬ 
tion LDS BX,[BP+12] should be used. 

On the question of saving and re¬ 
storing registers, the Turbo Pascal man¬ 
ual is somewhat confused, as Mr. Hal¬ 
pern points out. The programmer must 
save and restore BP, DS, or SS, but 
only if his code changes the contents 
of the register. To PUSH and POP any 
other registers is pointless because 
Turbo does not expect their contents to 
be preserved. To be sure, CS also must 
be preserved, but this happens auto¬ 
matically when a subroutine is called 
and then returns in the standard way. 


Mr. Halpern implies that relocat- 
ability requirements for an external 
subroutine are the same as for a .COM 
module. Actually, they are more strin¬ 
gent for an external subroutine. Be¬ 
cause a .COM module always will be 
loaded by DOS at offset OlOOH, it need 
only be capable of running in any seg¬ 
ment. An external subroutine, however, 
will be put at the next available offset 
in the code segment when its header is 
parsed by Turbo Pascal. This offset is 
unpredictable, so the code must be 
able to run at any offset. Therefore, a 
subroutine, unlike a .COM module, 
cannot make references to data at abso¬ 
lute offsets in the code segment. 

Robert Pirko 
New York, NY 

I stand corrected on the question of 
Turbo Pascal manual errors. It may 
indeed be a big mistake to agree un- 
questioningly with the Turbo manual. 

‘Tlegant Linkage'' was yneant to 
introduce some basic ideas that would 
encourage readers to do further experi¬ 
mentation on their own. Mr. Pirko's 
additions are valuable; however, some 
of them require comment. 

His first point is incorrect. The 
length of the field is the maximum 
string length, plus one. In figure 1 
(p. 155), this length is shown for the 
variable V4, a string of maximum 
length six, which occupies the seven 
bytes -f 2 through SP + 8. The label¬ 
ing on the right indicates clearly that 
the fust b)’te is the length, but the 6 is 
probably a cause of confusion. In my 
string exatnples, I used strings with ac¬ 
tual and maximum lengths that were 
the same. In that case, and only that 
case, would byte SP -Y 2 contain a 6. 

The purpose of the code in exam¬ 
ple one (figure 3) is to illustrate the 
individual steps that are taking place, 
not to produce efficient code. As for 
saving and restoring registers, Mr. 

Pirko is correct. My recommendation 


SEPTEMBER 1987 


15 


















LETTERS 


to save and restore all registers altered 
by the subroutine (an old habit of 
7nine) should apply only to the BP, SS, 
and DS registers. 

—Richard Halpem 

FORTRAN FERVOR 

Having experimented with Microsoft’s 
FORTRAN 4.0 compiler with the sup¬ 
plied CodeView debugger (see “The 
State of FORTRAN,” John Voglewede, 
June 1987, p. 92), I can attest that it is 
excellent and produces very fast code. 


Regrettably, in its current release it has 
a serious bug of which users should be 
aware; it errs in subtracting a complex 
variable from a real constant (but not 
from a real variable). For example, if 
C = (0,1), then 1 — C yields (1,1) 
rather than the correct value (1,-1). 
But, (1,0) — C and — C + 1 give correct 
results. This bug occurs in both single 
and double precision. 

Edward Kamel 
Massachmetts Institute of Technology 
Cambridge, MA 


Regarding your review of Microsoft 
FORTRAN 4.0, our experience differs 
considerably. When attempting to con¬ 
vert a large program (20,000 lines in 
32 subroutines, several overlays) from 
MS FORTRAN 3.2 to 4.0, we finally had 
to give up in frustration. 

We encountered problems with 
misstorage of results of calculations 
that could be solved only by preceding 
them with A = A, A being the variable 
to be calculated. Other problems had 
to do with the formatted read skipping 
blocks of records. Previously, all of this 
had worked in version 3-2. We also 
could not get a .LST file completed for 
some of the subroutines. 

Microsoft told us they could not 
reproduce our first problem (note, we 
did not send Microsoft all of the source 
code), and that the file problem would 
be fixed at a later date. 

Many of these problems no doubt 
are the result of working with large 
systems, but if bugs are present, when 
will tliey occur in smaller systems? 

D.J. Meyer 

Advanced Managetnent Technologies 
Homton, TX 

Microsoft is in the process of eliminat¬ 
ing several known bugs in its FORTRAN 
4.0 compiler. A new revision (4.01) 
correcting these bugs is expected to be 
released shortly. Microsoft will provide 
this release at no cost to all FORTRAN 
4.0 licensees. 

—John Voglewede 

Thank you for recommending F77L to 
the serious PC FORTRAN programmer, 
in addition to recognizing our liberal 
license agreement and customer sup¬ 
port programs. We do have some addi¬ 
tional comments. The BIGARRAY bug 
found by Mr. Voglewede is fixed in ver¬ 
sion 2.21, which currently is shipping. 
The F77L compiler “fixes” itself each 
time it is used. This feature allows us 
to fix some user-reported problems the 
same day the bug is reported, then the 
current product is fixed so that new 
users will not have tlie problem, all 
without waiting for a new release. 

These fixes are available to all users 
on our bulletin board. 

We take strong exception to Mr. 
Voglewede saying in the article that our 
compiler’s “error-detection capabilities 
are only average.” Lahey F77L users 
who download mainframe programs 
enthusiastically praise our compiler and 
runtime diagnostics. They report that 
F77L has diagnosed errors that have 
existed for several years. 

Continued on p. 21 


THE ATRON BUGBUSTERS 
CRACK DEBUGGING FOR 
COMMQ 386s & IBM PS/2-80s 


You already have Microsoft’s 
CodeView™ And you’ve seen our 
ads for the Atron hardware-assisted 
software debuggers. Right? The 
Atron Biigbustersl Nine of the top 
ten PC software developers use our 
debugging tools. With our new 
MiniProbe™ shortcards, you can 
use watchpoints and tracepoints in 
real time. On PCs, ATs and, now, 
COMPAQ and IBM 80386s. 
Without learning new debugging 
technology. 


device. This solves the most 
common debugging problem: Out- 
of-range pointers which overwrite 
the program code or data. Often, 
the overwrite is different after each 
new compile of the program. 

And if you need a software 
debugger which is smaller in size 
than CodeView, the Atron source- 
level debugger included with each 
MiniProbe can also use external 
memory for CodeView symbol 
table storage. 


Only $395 puls 
you into world- 
class debugging 



With real-time watchpoints and 
tracepoints, a one-minute program 
will run in one minute. Not 50 
hours (the difference between 
software-only debuggers and 
hardware-assisted debuggers is a 
3000-to-l increase in efficiency). 

And if the program bug you’re 
trying to find has anything to do 
with interrupt activity, it might 
never occur when you’re debugging 
with CodeView alone. 

But with the Atron MiniProbe, 
you can trap events like reading 
and writing to memory or an 10 

© 1987 by Atron, a division of Northwest Instrument Systems. 


So new that yeu don't 
hcnre to learn a new 
debugger, the only thing 
keeping you from 
debugging like the pros is 
$395. And our phene 
number: 408/741-5900. 

Call todcqf. Bust bugs, and 
records, tomorrow. 

THE BUGBUSTERS 

20665 Fourth Street • Saratoga, CA 95070 

Inc. MiniProbeAtron. CodeView’” Microsoft. TRBA 


CIRCLE NO. 249 ON READER SERVICE CARD 


16 


PC TECH JOURNAL 













&)eed 


Fast Execution Speed. 

Microsoft® C 4.0 Microsoft C 5.0 
Sieve (25 iterations) 5.7 3.3 

Loop 11.0 0.0* 

Float 19.9 0.1 

Dh^tone 22.8 19.1 

Pointer 14.2 7.4 

New optimizations generate the fastest code: 

—Inline code generation. NEW! 

—Loop optimizations: NEW! 

—Loop invariant expression removal. NEW! 
—Automatic register allocation of variables. NEW! 
—Elimination of common sub expressions. 

—Improved constant folding and value propagation. 

Fine tune your programs for even greater sp^: 

—(Coding techmques for writing the fastest possible 
programs are included in the documentation. NEW! 
—Segment Allocation Control: 

—Group ftmctions into the same segment to get faster 
NEAR calls. NEW! 

—Specify' which segments receive variables to yield 
faster NEAR references. NEW! 

—Uses register variable declarations. 

—Mix memory models using NEAR, FAR & HUGE 
pointers. 

Bencfimarks run on an IBM* Personal Systcm/2r' *Time is negligible. 





Fast Compilation. 

Fast Prototyping. 

Microsoft C Version 5.0 includes Quicker which 

lets you edit, compile, debug, and execute in an 

integrated environment. It’s ideal for prototyping. 

• In-memoiy compilation at over 10,000 lines/ 
minute. NEW! 

• Built-in editor with parentheses, bracket and 
brace matching. 

• Use the integrated debugger to animate through 
your program, add watch variables and set 
dynamic breakpoints. NEW! 

• MAKE file is automatically generated for you. 
Simply indicate the modules you want to use, 
then MAKE recompiles and links only those 
modules that have changed. NEW! 

• Full C 5.0 compatibility: 

—Completely source and object code compatible. 

—Emits CodeView®-supported executables. 

—Identical compile/link command line switches. 




And speed. 


Fast Debugging. 

Microsoft C Version 5.0 includes Microsoft CodeView, 
our source-level windowing debugger that lets you debug 
more quickly and thoroughly than ever before. 

• Debug larger programs: 

—Debug through overlays created by the 
Microsoft overlay linker. NEW! 

—Expanded Memory Specification (EMS) 
support NEW! 

• Fast debugging through precise control of your 

program execution: 

—Access source level and symbolic debug information 
firom your Microsoft C, FORTRAN, and Macro 
Assernbler programs. NEW! 

—View your source code and assembly simultaneously. 

—Watch the value of variables change as you execute. 

—Set conditional breakpoints. 

—Animate or single step through your program. 

• CodeView brings you as close as you’ve ever been 

to your hardware: 

—Swap between your code and output screens. 

—Watch your registers and flags change as your 
program executes. 


C 5.0 will be available soon. If you purchase Microsoft C 4.0 after June 1,1987, 
we’U give you a C 5.0 upgrade. Free. For your fi'ee information packet, call: 

( 800 ) 426 - 9400 . 

Microsoft, the Microsoft logo and CodeView are registered trademarks and QuickC is a trademark of Microsoft Corporation. 0587 Part No. 098-048-615 

IBM is a registered trademark and Personal System/2 is a trademark of International Business Machines Corporation. 




LETTERS 


For BIGERROR, I claim that all er¬ 
rors were reported. F77L accepts 31- 
character names and ignores blanks, so 
PROGRAM WITH LARGE ERRORS and 
REAL MATRIX SUM are correct. Mini¬ 
mally, 31-character names affect diag¬ 
nosing BIGERROR lines 1, 4, 5, and 7. 
Our approach with F77L is precisely in 
keeping with the current draft of the 
FORTRAN-Sx standard, which accepts 
names as long as 31-characters. 

Finally, I would note that your arti¬ 
cle takes an approach that distinguishes 
it from the typical review offering only 
benchmark testing. LCS applauds PG 
Tech Journal for this policy. 

Thomas M. Lahey, president 
Lahey Computer Systems, Inc. 

Incline Village, NV 

During the past year and one-half, I 
have been porting (from the DEC VAX 
environment to the IBM PC family), 
maintaining, and modifying an 18,000- 
line FORTRAN program. I decided to 
use Lahey’s F77L compiler for this ef¬ 
fort because Microsoft FORTRAN 3.x 
would not handle all the features that 
were used in the program. Recently, I 
received a copy of Microsoft FORTRAN 
4.0, and it was able to compile the pro¬ 
gram after a few minor revisions. 


The Microsoft object and execut¬ 
able code was substantially larger than 
for Lahey’s F77L. The program needs as 
much data space as possible. It is orga¬ 
nized into overlays as is (Plink86 is 
used for linking). The compile time for 
Lahey’s F77L 2.2 was about IV 2 hours; 
Microsoft FORTRAN 4.0 took about 4V4 
hours. Program execution speed was 
nearly identical for both. 

Two things not mentioned in the 
article seem very important to me. 

First, the Lahey debugging package, 
SOLD, requires only about 20KB versus 
Microsoft CodeView’s 200KB (which 
leaves me no data space). Second, 
Lahey’s SOLD will find its way through 
overlays (I have used it to do this), 
whereas Microsoft has said that Code¬ 
View cannot be used with overlays. 

Ronald E. Johnson 
Northern Valley Software 
Rancho Palos Verdes, CA 

I have been using Lahey’s F77L since 
the release of version 1.0 to develop a 
large, number-crunching system, but 
your article peaked my interest in the 
Microsoft compiler because your 
benchmark tests show the MS compiler 
comparing favorably with Lahey’s. I 
conducted some extensive tests be¬ 


tween the two using a commercial 
product tliat runs under MS FORTRAN 
3 . 3 . From start to finish, there is no 
question—in the workplace, Lahey’s 
F77L beats Microsoft hands down. 

Mark S. Geyper, Ph.D., president 
M. S. Gerber & Associates, Inc. 

Columbus, OH 

In response to Mr. Lahey), the “average” 
error-detection capability) attributed to 
the Lahey) F77L was based on this com¬ 
piler's performance relative to other 
FORTRAN compilers. The Lahey) product 
did not detect syntax errors identified 
by) others. F77L also failed to indicate 
that a compiler limit was exceeded 
during the compilation process. 

While it is correct that blanks gen¬ 
erally may be ignored in FORTRAN, 
Section 2.2 of the FORTRAN-77 stan¬ 
dard limits the length of symbolic 
names to six characters or less. Pro¬ 
posed revisiom to this standard not¬ 
withstanding, the lines in question 
should have been identified as contain¬ 
ing syntax errors or extensions to the 
standard. (Also note that Lahey) Com¬ 
puter Systems has informed PC Tech 
Journal that an overlay linker and li¬ 
brary file manager are available for 
use with F77L, as separate purchases.) 


PHOTON 


THE 

FA^TF^T 

MOST POWERFUL 
& AFFORDABLE 
SOLUTION FOR A 
MULTISYNC CAD 
WORKSTATION. 


$155 1 

PHOTON MAXER i 


□ 

Maximize your EGA 


□ 

Easily upgrades any regular EGA board 
from 640x350 to 800x512x16 color sharp, 
Non-Interlaced display. 


□ 

Easily upgrades any regular EGA board 
from 640x350 to 720x540x16 color. 


□ 

Upgrades any regular EGA board to new 
640x480x16 color IBM VGA standard. 


□ 

Connects to feature connector of any 
256k EGA board like, VEGA Delux, 
QuadSync, Paradise, Tecmar, BOCA ar 
most other generic EGA boards. 


□ 

Does not take any SLOT. 


□ 

Includes drivers far AutoCAD, XEROX 
Ventura Publisher, GEM, WINDOWS, 
VersaCAD, CADVANCE,-. 


□ 

Automatically switches from High 
resolution to normal EGA and vice versa. 


□ 

Requires NEC/SONY or any other 
compatible Multisync monitor 


□ 

1 year warranty. 






TO GET MORE 
INFORMATION CALL: 
PCG AT 213-216-0055 
OR 

800-255-9893, 

FOR THE NAME OF THE 
PHOTON DEALER 
NEAR YOU. 




The Ultimate in Graphics Technology 
5819 Uplander Way, Culver City, Calif. 90230 
Tel. (213) 216-0055 FAX (213) 216-4931 


.. 

PHOTON MEGA 


□ 

The ultimate EGA card. 



□ 

800x600x16 color sharp, bright Non- 




Interlaced display. 



□ 

640x480x16 color (VGA mode) Non- 




Interlaced display. 



□ 

16 colors from a palette of 64. 


p 

□ 

Built In EGA CGA MDA and Hercules 


ii 


compatible mode ensures compatibility 

|i 


Ith any software. 


1 

□ 

Display list processing from extended 




memory optloa 



□ 

Single short slot board. 



□ 

One monitor system. 



□ 

Analog option to work with most 15‘-19’ 




Anolog Monitors. 



□ 

Recommended with NEC/SONY or any 


0 


other Multisync. 


& 

□ 

1 year warranty. 


1 

kspi 




AUTOCAD 
I VERSACAD 
■ CADVANCE 
■ DATACAD 
m MEGACADD 
■ CCADD 
- m PCAD 



Personal Computer 
Graphics Corporation 






$895 

PHOTON 800 

g 

□ 

Professional CAD guallfy. 

1 

□ 

800x600x16 color sharp, bright Non- 
Interlaced display. 

1 

□ 

1024x1024x16 color virtual drawing 
memory. 

1 

□ 

Real Instant HARDWARE SCROLL, PAN AND 

■ 


ZOOM. 


□ 

Display list processing from extended 
memory option. 


□ 

Fast 18 million pixels/second drawing 
speed. 


□ 

Single slot board. 


□ 

Cursor Zoom 2x2 or 3x3. 


□ 

One or two monitor system. 


□ 

Can co-exIst with any PGA EGA CGA 

MDA adapter for one monitor system 



option. 


□ 

Recommended with NEC/SONY or ony 
other Multisync. 


□ 

1 year warranty. 






GENERIC CAD _-^ 

PRODESIGN II 
DYNAPERSPECTIVE 
XEROX VENTURA PUBLISHER 
ALDUS PAGE MAKER 
m WINDOWS 
■ GEM 


□ 1024x768x16 color sharp, birght Noth 
Interlaced display. 

□ 960x720x16 color sharp, beautiful Non- 
Interlaced display. 

□ 1200x900x16 color vltual drawing 
memory. 

□ Instant Dynamic Scroll, Pan and Zoom. 

□ Display list processing from extended 
memory option. 

□ Fast 28 million pixels/second drawing 
speed. 

□ Single slot board. 

D One or two monitor system. 

D Can co-exIst with any EGA, PGA adapter 
to provide one monitor system option. 

D Recommended with NEW NEC Multlsyncs: 
15' NEC Multisync Plus (960x720) 

19' NEC Multisync XL (1024x768) 

D 1 year warranty. 


Circle Reader Service No. 226 for End-User, No. 227 for Re-seller. 


21 




























main() {printf(“An investment in High C is one weii made./n”);} 


LETTERS 


Mr. Johnson is correct—the docu¬ 
mentation supplied with Microsojt 
CodeView confirms that programs 
using overlays cannot be debugged. 

—John Voglewede 

“FORTRAN Perspectives” contains a 
misleading comparison of the accuracy 
of computations under the FORTRAN 
compilers that were being reviewed. 
PERFORM.F77, listed on page 110, and 
the accompanying expository descrip¬ 
tion of the accuracy tests show that the 
figures returned bear no relation to the 
accuracy of computation. 

I will illustrate the point with a 
simple example. Suppose that all com¬ 
putations carried out in the main loop 
of PERFORM.F77 are exact except one 
(a highly unlikely situation), and that 
the error returned for that one compu¬ 
tation is, in terms of the program varia¬ 
bles, C = 1.0. This might occur, for 
example, for the case A = 10,000, when 
computations are in single precision 
(such an error for this argument still 
would mean that about four of the 
available seven decimal places were 
correct in the computation of C). Then 
suppose D = 1.0 also. But the error sta¬ 
tistic, the base-10 logarithm of D, is 0. 

If this result were included in figure 1 
of the article, it would be recorded as 
0 decimal digits of precision, a grossly 
incorrect interpretation. 

Many other deficiencies can be 
noted: a rounding error for the case 
A = 10,000 contributing 100 million 
times as much to D as a rounding 
error for the case A = 1, accumulating 
the sum of squares of absolute errors 


instead of reporting the root mean 
square of the relative error, confusing 
mathematical exactness with computa¬ 
tional exactness, and so on. But the 
point has been made. This benchmark 
is worthless in my opinion. If I were a 
manufacturer whose product had per¬ 
formed badly in your tests, I would be 
most unhappy. To publish such results 
is a disservice to your readers and to 
the manufacturers. 

V/illiam J. Cody, Jr. 

Glen Ellyn, IL 

As pointed out by Mr. Cody, the results 
of the PERFORM.F77 program are ac¬ 
cumulated calculational errors and do 
not represent the intrinsic precision of 
the compiler tested. Figure 1 was in¬ 
tended to demonstrate the relative 
trade-ojfs between speed and accuracy, 
and the differences between compilers 
using different options. The confusion 
between the accumulated error re¬ 
ported in this figure and the intrinsic 
precision of the compiler itself could be 
eliminated by Mr. Cody's suggestion 
(that the root mean square of the rela¬ 
tive error be used rather than the sum 
of squares of the absolute errors). How¬ 
ever, the relative comparisons of speed 
and accuracy shown in the figure re¬ 
main valid regardless of whether this 
particular change is incorporated. 

—John Voglewede 

PC Tech Journal would like to note 
additional corrections to “FORTRAN 
Perspectives." In describing figure 1 on 
page 94, column 3, the last sentence of 
the first full paragraph should read. 


“The precision of the result is simply the 
negative of the base-10 logarithm of the 
total accumulated error. ” 

Table 2 (p. 97) should show that 
Microsoft does not support in-line com¬ 
ments in its source code format and 
that Lahey's F77L CHARACTER length is 
reduced to 32,768. In table 3 (p- 98), 
the entire row of yesino indicators for 
runtime distribution under License 
Agreement should be reversed to show 
that the DRI, Ellis, Lahey, and Microsojt 
compilers support it, while Prospero 
and Ryan-McFarland do not 

—JS 

FORTRAN FERVOR, CONTINUED 

Thank you for the command-line pro¬ 
cessor in “Command-Line Arguments 
for FORTRAN,” (Programming Practices, 
John W. Ross, May 1987, p. 190). How¬ 
ever, there appear to be two typo¬ 
graphical errors in COMLINASM on 
page 193. The correa values for the 
program prefix address should be 

psp_seg equ OOOOH 
;program segment prefix segment 
psp_seg equ 4F2H 
;program segment prefix oflfeet 

After I made this correction, the pro¬ 
gram performed flawlessly with the 
Microsoft FORTRAN compiler 4.0. 

Werner Wothke, Ph.D. 
Northwestern University 
Evanston, IL 

Although the address that is given by 
Dr. Wothke for the PSP is correct, the 
listing has no typographical error. 

There is no unique way of writing an 


: • 80x86 • 680x0 • VAX • RT PC • 370 • 320xx • 80x86 • 680x0 • VAX • RT PC • 370 • 320xx • 80x86 • 680x0 • VAX • RT PC • 370 • 320xx • 80x86 * 370 • 



MS-DOS We were first with compilers for Intel 80386 protected mode —since November, 1986. And we have been technology 
leaders on the Intel 8088~286senessme 1983, adding 80386 real mode support in 1986. Joln thO tig loegUOS: Ansa/Pm(iox,Ashton- 
Tate^iBase III Plus, AotodesA/AutoCAD, /./fetree/Volkswriter, foxSo#wari^oxbase(386), Symantec/Q&A, Wew/og/tyWorkview&Viewsim,...; they rave 
about our COdO QUellty and tOChnlCel support. Ourfloating-point support includes 8087-287-387, Woltek 1167, and 

emulation. Equivalent compilers support OthOr OSS on Intel chips: OS/2; FlexOS 286,386; OS/286,386; PC-MOS (386); DOSlExtender, and X- 
AM (VM/RUN). Likewise, the same OUtStendlng compilers are also available on: 

UNIX — Intel 80286,80386; MC 680x0: Sun, Apollo, others; DEC VAX; IBM RT PC, 370; NS 32032; and 
Other OSs — DEC VAX VMS, and soon IBM CMS and Atari/GEM-DOS. (UNIX refs: Boeing C.S., CASE Tech., IBM, MIT,...) 


llsia 



UJara™ 

INCORPORATED 


CALL: (408) 429-6382 

Telex: 493-0879 (META Ul); 903 Pacific Avenue, Suite 201 

Santa Cruz, CA 95060 


Ttie Olest OMoe fer Large Pregramming Praiaata. -pcTechjoumai 

* • MS-DOS • OS/2 • UNIX 4.x, V.x • RexOS • OS/x86 • PC-MOS • DOS|Extender • X-AM • VM/RUN • GEM-DOS • VMS • CMS • MS-DOS • OS/2 • UNIX • 

CIRCLE NO. 259 ON READER SERVICE CARD 


22 


PC TECH JOURNAL 


Writeln(”An investment In Professional Pascal is one well made.'*); 







MICROSOFT LANGUAGES NEWSLETTER VOL. 2, NO. 9 


News about the Microsoft Language Family 


Microsoft® Macro Assembler 
Version 5.0 

Microsoft Macro Assembler 
Version 5.0 has a host of 
exciting new features that 
make assembly language 
programming easier and 
more powerful than ever! 

Microsoft Macro Assembler 
Version 5.0 now includes the 
Microsoft CodeView® window- 
oriented debugger and can 
assemble instructions written 
for the Intel® 80386 CPU. Comprehensive 
documentation and example programs help 
you write assembly code subroutines that can 
be called from other Microsoft languages such 
as C, BASIC, FORTRAN, and Pascal. Microsoft 
Macro Assembler Version 5.0 also assembles 
your programs 25-40% faster than Version 4.0. 

Now it’s easy to write assembly language 

subroutines for high-level language programs 

If you have always wanted to write fast 
assembly language subroutines to make your 
programs fly, now is the time to try Microsoft 
Macro Assembler Version 5.0. Version 5.0 
comes with a completely new Mixed-Language 
Programming Guide, which describes in clear, 
step-by-step language how to write, assemble, 
and link an assembly language subroutine 
with your Microsoft BASIC, C, FORTRAN, or 
Pascal programs. The examples from this man¬ 
ual are provided on disk so you can use them 
as templates, filling in your own code and 
leaving the prologue and epilogue instructions 
that make the interface function correctly. 

Now Microsoft Macro Assembler Version 5.0 
makes segmentation easy. Our new “simplified 
segmentation” directives are short, straight¬ 
forward, and intuitive; To declare the correct 
model for your subroutine, 
just use the .MODEL 
directive and choose the 
model you need: SMALL, 

MEDIUM, COMPACT, 

LARGE, or HUGE. To start 
your data segment, just add 
a .DATA directive; to set 
your stack, add a .STACK 


directive; and to begin 
writing instructions, use the 
.CODE directive. 

Microsoft Macro Assembler 
now includes the CodeView 
source-level debugger 

CodeView, Microsoft’s 
famous debugger for its C 
and FORTRAN languages, 
now comes to the world of 
assembly language program¬ 
ming. Source-level debugging 
allows you to view your program just as you 
wrote it, including the comments and spacing 
that are especially important in helping you 
follow your program’s execution. You can 
access variables by name, even if they aren’t 
declared public, and see constants as names 
instead of as anonymous numbers. 

Write programs for the 80386 

Microsoft Macro Assembler Version 5.0 can 
assemble the new instructions available with 
the powerful 80386 CPU and the 80387 math 
coprocessor, as well as 80286 instructions that 
have been enhanced to work with 32-bit 
registers. You can also use the new 32-bit 
wide registers to write faster programs than 
ever by using such operations as 32-bit 
add and subtract and 32-bit multiply and 
divide without using multiple registers. For 
more powerful data access Microsoft Macro 
Assembler Version 5.0 allows you to choose 
any 32-bit register for indirect memoiy access, 
to use “scaling” for easy array access, and to 
move 32 bits of data directly from memory 
into a register and back. 

For more information on the products and 
features discussed in the Newsletter, write to; 
Microsoft Languages Newsletter, 16011 NE 
36th’Way, Box 97017, 
Redmond,’WA 98073-9717. 
Or phone: (800) 426-9400. 
In Washin^on State and 
Alaska, call (206) 882-8088. 
In Canada, call (416) 
673-7638. 

Microsoft, the Microsoft logo and CodeView are 
registered trademarks of Microsoft Corporation. 
Intel is a registered trademark of Intel Corporation. 

K/Kaosott 



Microsoft Macro Assembler’s CodeView at Work. 


Latest DOS Versions: 


Microsoft C Compiler 

4.00 

Microsoft COBOL 

2.20 

Microsoft FORTRAN 

4.01 

Microsoft Macro Assembler 

5.00 

Microsoft Pascal 

3.32 

Microsoft QuickBASIC 

3.00 


la)ok for the Microsoft Languages Newsletter every month in this publication. 













LETTERS 



same price: $ 139 . 00 . 

The MKS Toolkit, site-licensed to major corporations, is designed for IBM PCs, XTs, ATs, 
and compatibles running under MS-DOS (or PC-DOS) 2.0 and later releases. It contains more 
than 110 software tools accompanied by over 380 pages of clear, concise documentation, 
including a tutorial guide. The MKS Toolkit runs under DOS and coexists with your favorite 
applications — no disruptions. 

New Features in Version 2.2: 

VI/EX — this full-screen editor, already completely UNIX compatible, now handles the 
various national character sets (French, German, Spanish, etc.) provided with DOS, as well as 
8-bit data and improved support for EGA and colour attributes. 

KORN SHELL — a programming language in itself, it now has vl and emacs command¬ 
line editing mode, improved handling of terminate-stay-resident programs, and subscripted 
arrays. 

AWK — implements on DOS the latest Bell Labs internal specifications under System V, 
release 3, with multiple subscripts allowed in arrays and improved ability to run very large 
programs, making awk an excellent fourth generation language that non-programmers will 
find readily accessible. 

/ETC/INIT, LOGIN, PASSWD, WHO — facilitates multiple users of the same 
machine, or multiple application environments. 

PR — formats files for printing or screen display, with options for multiple columns, line 
folding, tab expansion/compression, titles, line spacing, etc. 

CRYPT — provides file encryption with the choice of either the UNIX-compatible Enigma 
rotor machine algorithm or the National Bureau of Standards Data Encryption Standard 
(DES) algorithm. 

PACK, UNPACK, PCAT — allows data compression on UNIX or DOS files using the 
Huffman encoding standard. 


The MKS Toolkit contains all these programs for $139: 




alias 

awk 

banner 

basename 

break 

c 

cal 

case 

cat 

cd 

chmod 

emp 

comm 

continue 

cp 

cpio 

crypt 

ctags 

cut 

date 

dd 

deroff 

dev 

df 

diff 

dimame 

du 

echo 

ed 

egrep 

env 

eval 

exit 

expand 

expr 

fc 

ig 

fgrep 

file 

find 

fmt 

fold 

for 

getopt 

gres 

head 

help 

if 

init 

join 

kill 

Ic 

let 

line 

login 

Is 

mkdir 

more 

mv 

nm 

od 

pack 

passwd 

paste 

peat 

pr 

print 

prof 

ps 

pwd 

read 

readonly 

return 

rev 

rm 

rmdir 

sed 

select 

set 

sh 

shift 

size 

sleep 

sort 

split 

strings 

strip 

sum 

switch 

tail 

tee 

test 

time 

times 

touch 

tr 

trap 

typeset 

whence 

unalias 

which 

uname 

while 

unexpand 

who 

uniq 

unpack 

unset 

unstrip 

until 

vi 

wc 


Now available separately: 



$75 each 


Mortice Kern Systems Inc., 

43 Bridgeport Road East, Waterloo, Ontario, Canada, N2J 2J4 ( 519 ) 884-2251 

uucp: {allegra, deevax, ihnp4}!watmath!niks!toolkit 
Prices quoted in US funds. VISA, MASTERCARD, American Express, and purchase orders are accepted. Orders also 
accepted via uucp. Customer support is available during business hours via telephone or uucp mail. Updates to existing 
licenses are available for $45.00. MKS and the MKS Toolkit are registered trademarks of Mortice Kern Systems Inc. 
UNIX is a trademark of AT&T Bell Labs. MS-DOS and PC-DOS are trademarks of Microsoft Corp. 


8086 address in segment:ojfset format. 
His address, 0000:04F2, and the ad¬ 
dress published, 004F:0002, in fact, 
refer to the same location in memory. 

—fohn W. Ross 

In addition to Dr. Wothke's letter, several 
others were received that suggested wor¬ 
thy methods of retrieving command-line 
arguments in FORTRAN. The letters that 
follow are representative. 

-JS 

As Mr. Ross notes in his article, it is 
sometimes important to be able to re¬ 
trieve command-line arguments from 
within a FORTRAN program—even 
though many PC-based FORTRAN com¬ 
pilers do not directly support such an 
activity. Occasionally, it is also useful to 
be able to read the DOS environment 
areas, which also may be accessed 
through the PSP. 

Some FORTRAN compilers (nota¬ 
bly, Lahey’s F77L) provide FORTRAN 
functions to read these areas. Other 
major compilers (Ryan-McFarland and 
Microsoft, for example) do not. We 
have been using both RM FORTRAN 
and MS FORTRAN to port large statisti¬ 
cal systems from mainframes to PCs. 

We had to overcome the same problem 
that Mr. Ross faced. I think we ended 
up with a simpler solution. 

DOS 3.x includes an interrupt 
(62H, get PSP address) that retrieves 
the PSP address from any point in a 
program. All DOS versions from 2.0 on 
have an undocumented DOS interrupt 
(51H) that achieves the same result (it 
appears to work in a manner identical 
to the fully documented 62H version). 
The use of these interrupts obviates the 
necessity of Mr. Ross’s “header” pro¬ 
gram, and greatly simplifies the pro¬ 
duction and linkage of the routines in¬ 
volved. Obviously, one is running some 
risk with versions of DOS earlier than 
3.0, as the interrupt is undocumented 
and may change. For the time being, 
however, it works. 

Brent C. faynes, M.D. 

Intermountain Health Care, Inc. 

Salt Lake City, UT 

Microsoft FORTRAN does have a lim¬ 
ited built-in capacity to use command¬ 
line arguments. If you want to pass file 
names through the argument list, they 
can be opened by leaving the file name 
blank on the OPEN statement, that is, 
OPEN(l,FILE = ’ ’) to open a file to 
unit 1. The first OPEN references the 
first argument, the second OPEN refer¬ 
ences the second argument, and so on. 


24 


CIRCLE NO. 174 ON READER SERVICE CARD 


PC TECH JOURNAL 



*More*Magic 
fromBMse. 

Tiiri)o C TOOLS 





,r 

XylN .P<: 

^ uOC 
★ oi'' 

iff- 


BLAISE 
N U 


¥ 

4 




Magic is easy with Turbo C TOOLS 
in your bag of tricks. New Turbo C 
TOOLS™ from Blaise Computing is a 
library of compiled C functions that 
allows you full control over the com¬ 
puter, the video environment, and the 
file system, and gives you the jump on 
building programs with Borland’s new 
C compiler. Now you can concentrate 
on the creative parts of your programs. 

The library comes with well-docu¬ 
mented source code so that you can 
study, emulate, or adapt it to your speci¬ 
fic needs. Blaise Computing’s attention 
to detail, like the use of function proto¬ 
typing, cleanly organized header files, 
and a comprehensive, fully-indexed 
manual, makes Turbo C 
TOOLS the choice for 
experienced 
software 



developers as well as newcomers totH. 

Turbo C TOOLS provides the sophisM- 
cated, bullet-proof capabilities needed 
in today’s programming environment^ 
including removable windows, “side-^ 
kickable” applications, and general 
interrupt service routines written in C. , 

The functions contained in Turbo C 
TOOLS are carefully crafted to supple¬ 
ment Turbo C, exploiting its strengths 
without duplicating its library functions. 
As a result you’ll get functions written 
predominantly in C, that isolate hard¬ 
ware independence, and are small and 
easy to use. 

Turbo C TOOLS embodies the full spectrum 
of general purpose utility functions that are 
critical to today’s applications. Some of the 
features in Turbo C TOOLS are: 


Turbo C 
TOOLS 
supports 
the Borland 
Turbo C com¬ 
piler, requires 
DOS 2.00 or 
later and is just 
$129.00 


♦ WINDOWS that are stackable and remov¬ 
able, that have optional borders and a cursor 
memory, and that can accept user input. 

♦ INTERRUPT SERVICE ROUTINE sup 

port for truly flexible, robust and polite 
applications. We show you how to capture 
DOS critical errors and keystrokes. 

♦ INTERVENTION CODE lets you devel- 
^ op memory resident applications that can 

take full advantage of DOS capabilities. 

With simple function calls, you can schedule 
a Turbo C function to execute either when 
a “hot key” is pressed or at a specified time. 

★ ♦RESIDENT SOFTWARE SUPPORT lets 
you create, detect, and remove resident util- 
4t.ies that you write with Turbo C TOOLS. 

♦ FAST DIRECT VIDEO ACCESS for 

efficiency, and support for all monitors 
including EGA 43-line mode. 

♦ DIRECTORY AND FILE HANDLING 

support let you take advantage of the DOS 
file structure, including volume labels and 
directory structure. 

In addition to Turbo C TOOLS, Blaise 
Computing Inc. has a full line of sup- i 
port products for Microsoft, Lattice ‘ V*' 

and Datalight C, Microsoft Pascal ^ ^ ^ 

and Turbo Pascal. Call 


‘ ^.^€&LS'PLtJSiW.95 

Screer^^d windo^nanagement including 
- EGA siupport; DOS memory control; ISRs; 
scheduled intervention code; and much more. 
For Turbo Pascal. 

Turl^ POWtlR SCRPEN 

COMING SOON! General screen manage¬ 
ment; paint screens; block mode data entry 
or field-by-field control with instant screen 
access. For Turbo Pascal. 

. $ 99,95 

Interrupt driven support for the COM ports. 
I/O buffers up to 64K; XON/XOFF; up to 
9600 baud; modem and XMODEM control. 
For Turbo Pascal. . - 

PASCi^TppESi^T<|&tS' 2 $ 175 . 00 . 

Expanded string and screen handling; graph¬ 
ics routines; memory management; general 
program control; DOS file support and more.: 

; For MS-PascaLo^l , : * 

X.T0€&'.S;ELU.S> $ 175.00 

Windows; ISRs; screen handling; multiple 
monitors; EGA 43-line text mode; direct 
screen access; DOS file handling and more. 
For MS and Lattice C version 3.00 and later. 

TI^Ut’TpDDS.'- . $ 99.95 

-. Windows; ISRs; EGA 434ine text mode; 

• direct screen access; DOS file handling and 
more. For the Datalight C compiler. 

' $ 175.00 

■ Full featured interrupt driven support for the 
.COM ports. I/O buffers up to 64K; XON/ 

' ■ XOFF; up to 9600 baud; modem control and 
,. XMODEM. For Q or MS-Pascal. 

VIE-W5UAT^«^ $ 275.00 

General screen control; paint screens; block 
" C mode daUi entry or field-by-field control with 
instant screen; access. For C or MS-Pascal. 


-'RUNOFF : ■ $ 49,95 

: Text formatter for all programmers; flexible 
' printer control; liser-defihed variables; index 
^ generation; general macro facility. Crafted 
' in Turbo Pa.scal; . ■ ^ ' 


today for details, and 
make magic! 


NEW VERSION! Program chaining execu- 
' tive. Chain one program from another in dif¬ 
ferent languages; specify common data areas; 
less than 2K of overhead. 






lUPSsVi'PP'"®' 


BLAISE COMPUTING INC. 

2560 Ninth Street, Suite 316 Berkeley, CA 94710 (415) 540-544! 
CIRCLE NO. 102 ON READER SERVICE CARD 



I tAatne 
\ ^ddtess•• 

L-—— 


Turbo C is a trademark of 
Borland International 










easyflow 

An on-screen flowchart processor that knows about flowcharts - not just 
Al another "screen draw" program that makes you do most of the work. 
EasyFlowIs a (Mwerfu! full-screen graphics program dedicated to flowcharts 
and organization charts. With it you can quickly compose charts. More 
important, you can easily modify charts so they are always up to date. 

► Automatic: Fully automatic text centering within shapes, both horizontally and 
vertically. Fully automatic line routing & re-routing. 

>■ Fast: Written in assembly language for speed. 

^ Large: Charts up to 417 columns wide by 225 lines high. Chart too large for your 
printer? £4sr/iow automatically breaks the chart up & prints it in page size pieces. 
^ Stamterd: All standard flowcharting shapes included. Custom shapes can be ordered. 

► User friendly: Don’t take our word for it. PC Magazine* says "EasyFlow lives 
up to its name. It’s hard to imagine any easier and more flexible way to produce 
basic and even complex flowcharts”. 

>■ Mouse: Optional but fully supported. 

► It prints: On most popular matrix printers including IBM, Epson, Toshiba, HP 
LaserJet, LaserJet-Plus and many others. 

► It plots: On HP7440, 7475, 7550, 7570, 7585B and compatible plotters. 

► It works: We are contractually prevented from mentioning the name of the “big 
eight” accounting firm that purchased a world-wide site license, but we can tell 
you that they spent months evaluating all available flowcharting packages before 
choosing EasyFlow. 

Rush delivery: Order by noon today (eastern time) and we’ll have it to you by 
courier tomorrow**. Rush delivery charge is $15.00 (instead of $2.00) and is 
available only in USA & Canada. 

>■ Documented: 100 page manual plus over 150 screens of context sensitive help. 

EASYFLOwmrks on IBM PC’s, IBM PS/2 and compatibles. Requires 384 K memory, 
DOS 2.0 or higher and an IBM CG/\/EG/WGA or Hercules monochrome compatible 
adapter card. 

Order direct for only $149.95 -i- $2.00 S&H (USA/Canada), $10.00 (foreign). Payment 
by M.O., cheque, VISA, Mastercard or Company PO. 

* March 10, 1987 issue, page 278. 

** Rush orders are shipped by Purolator Courier and normally arrive the next business day to most locations. 

Remote destinations take longer. • 


Mallroom 
sends to 
central files 
by 9am 


File found? 


Central filesJ 
complete 
y “Lost Order" 

\ form 



Log Complaint 


In addition tp logging 
the complaint* the search 
unit copies the complaint 
for managers as uell* 


The chart fragment above was produced on an HP LaserJet-Plus and is actual size and 
unretouched. Publication quality charts like this can be produced using only minutes of preparation 
time antf seconds of print time. 


HavenTree Software Limited 

PO Box 1093-N 

Thousand Island Park, NY 13692 


Order Desk: 1-800-267-0668 
Information: (613) 544-6036 ext 48 
Telefax(G3): (613)544-9632 


LETTERS _ 

The file names can be retrieved by the 
program using the INQUIRE statement. 

Microsoft FORTRAN 4.0 requires 
assembly language subroutines to save 
the DI and SI registers, which was not 
required in previous versions. This will 
require a minor modification in the 
COMUNASM program (as well as most 
other assembly language subroutine 
written for previous FORTRAN ver¬ 
sions). I missed the blank file name 
trick several times before I found it in 
the manuals. Now I use it frequently. 

James A Parsly 
Knoxville, TN 

PREMIUM FOOTNOTES 

In subsequent testing of the AST Pre¬ 
mium/286 reviewed in the June 1987 
issue (see “Compatibility and Perfor¬ 
mance: Premium/286, Steven Armbrust 
and Ted Forgeron, p. 74), it was discov¬ 
ered that the IBM Token-Ring Adapter 
will not operate when used with the 
IBM TOKREUI.COM driver supplied 
with the adapter. As of April 2, IBM has 
replaced TOKREUI with the LAN Sup¬ 
port Program, which does function cor- 
recdy on the Premium. 

Incompatibility problems of this 
type on the Premium also can be 
solved by removing jumper E2 on the 
AST FastRAM board; this adds a wait 
state to memory accesses. However, 
adding a wait state by removing this 
jumper will negate much of the Premi¬ 
um’s performance advantage. The 
jumper is documented in the revision 
B manual (the revision letter is located 
on the bottom left-hand comer of the 
manual’s back cover). 

—DM 

ERRAT4 

In the “Graphics Intelligence” article 
(Ed McNiemey, July 1987, p. 46), fig¬ 
ures 4 and 5 are switched. 


COMMENT AT WILL 

All letters to the editor should be 
directed to Editor, PC Tech Journal, 
Suite 800, 10480 Litde Patuxent Park¬ 
way, Cqlumbia, MD 21044. Corre¬ 
spondence also can be submitted 
over MCI Mail to PCTECH. 

Although PC Tech Journal can¬ 
not publish all letters received, 
every effort is made to answer as 
many as possible. Please keep letters 
brief and to the point, and include 
name, mailing address, and tele¬ 
phone number; when a letter is 
lengthy, a diskette is appreciated. 


26 


CIRCLE NO. 113 ON READER SERVICE CARD 


PC TECH JOURNAL 









WINDOWS FOR DATA' 


The first c^oKe 
of professional 
C programmers 

“Windows for Data is the best 
programming tool IVc ever used. 

Ifs the most flexible Fve seen. 

Whenever Fve wanted to do something, 

Fve been able to find a way.” 


Professionals choose our tools because 
they are designed, crafted, and supported 
for professionals. Here at Vermont Creative 
Software, we understand that performance 
and pleasure in programming derive 
from more than a long list of functions. 
Windows for Data provides: 

PROFESSIONAL FLEXIBILITY: 

Our customers repeatedly tell us how 
thej/ve used WFD in ways we never imagin¬ 
ed - but which we anticipated by designing 
WFD for unprecedented adaptability. Vir¬ 
tually every capability and feature can be 
modified to meet special needs. You will be 
amazed at what you can do with WFD. 

PROFESSIONAL PERFORMANCE: 

Screen output is crisp and fast. Windows, 
menus, and data-entry forms snap up and 
down from the screen. WFD is built upon 
and includes Windows for C, the win¬ 
dowing system rated in speed and 
overall quality in PC Tech Journal (William 
Hunt, July 1985). 

PROFESSIONAL RELIABILITY: 

An unreliable tool is worse than no tool at 
2 dl. VeS products are known in the industry 
for their exceptional reliability. Ask anyone 
who owns one 

PROFESSIONAL DOCUMENTA¬ 
TION: Over 600 pages of documentation 
provide step-by-step explanations for each 
major application, a reference page for each 
function, listings of functions alphabetical¬ 
ly and by usage, and a fully cross-referenced 


Steven Weiss, 

Stratford Systems 

index. Extensive tutorials and demonstra¬ 
tion programs assist learning. 

PROFESSIONAL TECHNICAL 
SUPPORT: The same expert program¬ 
mers that develop our products provide 
prompt, knowledgeable technical support. 

PROFESSIONAL PORTABILITY: 
High-performance versions of VCS 
products are available for XENIX, 
UNIX, and VMS, as well as DOS. No 
royalties on end-user applications. 

OUR CHALLENGE AND 
GUARANTEE 

If you have an application where no 
other tool can do the job, try Windows 
for Data. If it doesn’t help you solve 
your problem, RETURN FOR A FULL 
REFUND. YOU MUST BE SATISFIED. 

Ask for FREE DEMO DISKETTE 


Vermont 
Creative 
Software 

21 Elm Ave 

Richford,VT 05476 

Telex: 510-601-4160 VCSOFT 

Tel.: 802-848-7731 

Prices: PCDOS' $395; XENIX, VMS, UNIX Call. 
•PCDOS specify C compiler. 


WINDOWS FOR IMIA 

for DOS, UNIX, VMS. 

The complete windowing data entry, menu, 
and help system that does the hard job 
others can’t — we guarantee it! 

Pop-up data entry windows; field types for 
all C data types, plus decimals, dates, and 
times; auto conversion to and from strings 
for all field types; system and user supplied 
validation functions; range checking; re¬ 
quired, must-fill, and protected fields; free¬ 
form movement; multiple-choice field entry; 
scrollable sub-forms. Branch and nest win¬ 
dows, forms, and menus. 

Complete context-sentitive help system 
with pop-up windows and scrollable text. 

Pop-up, pull-down, scrollable, and Lotus- 
style menus. 

NEW FOR DEBUGGING: Exclusive 
VCS Error Traccback System auto¬ 
matically identifies the location and 
cause of program errors. Eliminates the 
need to code error checks on all function 
calls! VCS Memory Integrity Check¬ 
ing helps catch those hard-to-detect, 
memory-corruption errors. 

NEW FOR ERROR HANDLING: In¬ 
stall your own error handler to be called 
whenever a function detects an error. 

NEW FORM LAYOUT UTILITY sim¬ 
plifies form design. 


CIRCLE NO. 115 ON REAPER SERVICE CARD 





SPEED-UP YOUR PC GRAPHICSl 


With the GSS® Graphics Development Toolkit 
and your favorite language * you can write 
faster graphics applications in record time. 



Increase Your Application Performance 

GSS drivers are written directly to the hardware, so your 
applications run fast. And the latest display cards are supported, 
including high-performance boards from Video-7, Quadram, Emulex, 
and others. Low memory overhead also promotes faster performance. 
The GSS software typically requires only 75Kb at run-time. 

Reduce Your Time To Market 

GSS provides the graphics functions and 
device drivers, so you spend less time in 
development. Call over 100 high-level 
functions for lines, arcs, text, bitmaps, 
clipping, and more. Support numerous mice, 
displays, printers and plotters, including 
EGA displays, HP plotters, Epson LQ printers 
and the HP LaserJet + . 

Build The Future Into 
Your Software 

Your applications will 
work with new graphics 
devices as new GSS 
drivers become avail¬ 
able. You won’t have to 
modify your program! 

And when you use the 
Graphics Development 
Toolkit, your graphics 
software will be source 
code compatible with 
the new features of 
future DOS versions. 


For an in-depth look at creating 
high-performance PC AT graphics, 
attend the nearest GSS Seminar: 


Our complete GSS Line: 



List: 

PC Brand: 

CGI Dvlpmt Toolkit 

M95 

*375 

Kernel System 

*495 

*375 

Kernel for IBM RT 

*795 

*645 

Metafile Interpreter 

*295 

*235 


San Jose 

Washington, D.C. 

Los Angeles 

Boston 

San Jose 

New York City 

Orange County, CA 

Boston 

San Jose 

Atlanta 


June 11 
June 18 
July 9 
July 23 
Aug. 6 
Aug. 20 
Sep.10 
Sep. 24 
Oct. 8 
Oct. 22 


Call PC BRAND to register now! 
Registration fee, $25. 


*languages supported: 

Lattice C; Microsoft C; Lahey FORTRAN; Microsoft 
FORTRAN; R/M FORTRAN; IBM FORTRAN; IBM Professional 
FORTRAN; Microsoft Pascal; IBM Pascal; Microsoft BASIC 
Compiler; Microsoft Quick BASIC; IBM BASIC Compiler; 
Microsoft Macro Assembler; IBM Macro Assembler. 

Photos provided by CREARE, INTEGRATED 
SYSTEMS, and OPTIM ELECTRONICS 


To Order Your GSS Software Today Call 

800 PC-BRAND 

That's (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311 
Telex: 667962 (SOFT COMM NYK) 

Prices, terms, and sp>ecif ications subject to change without notice. 


© 1987 PC BRAND 
CIRCLE NO. 233 ON READER SERVICE CARD 



















PC BRANDS CAREFUWr CHOSEN 
PROGRAMMER TOOLS 


BRIEF Version 2.0 Extends Lead 

B rief has come forth with version 2.0 
offering editing templates for added 
languages, faster undo and search with 
matching over multiple lines, new types 
of block marking, large screen support, 
new documentation, and tutorials. 

This runaway success has eclipsed all 
other editors by sporting every feature 
you’ve ever contemplated. Tfext, from 
keyboard or files, is housed in multiple 
buffers, and scrolled through one or 
more windows you open, close, resize. 

A text buffer may be called to different 
windows to view two areas at once. A 
change in one changes both. Ttext may be 
marked for printing, writing to files, 
movement to scrap buffers for cut and 
paste into other buffers or deletion, with 
as many backward "undos" as you want. 

With a growing list of C compilers, 
you can compile without ever leaving 
Brief. It grabs the compiler’s report of 
problem lines, and marches you through 
your source code for repairs. 

Parts of Brief were written with its own 
Lisp-like macro language which has 
structure, 32-character variable names, 
conditional execution, loops, and even 
readability. Nothing like the hieroglyphs 
we’ve seen elsewhere. Bulletin board 
and public domain disks with macros. 
"One of the best investments you can 
make," PC Magazine. Tb top it off. 
there’s a 30-day money-back trial 
period. List; $195, Us: Call. 

HALO GRAPHICS 
SYSTEM Multi-Board 
Graphics Library 

The premier graphics library that got the 
ball rolling for PC-based graphics and has 
grown so omnipotent that it supports over 
25 graphics boards — including IBM’s 
EGA and Nr. 9 Revolution’s hi-res series — 
and has a multitude of mouse and printer 
drivers. All that in each box. Separate C 
versions for Lattice, M’soft, Aztez, CI86. 

What does Multi-Halo do? A down to the 
last pixel graphics library plus functions to 
reset drivers so distributed program can 
run on anything. Wonderful value for single 
license. Costly royalties though for 
redistribution. Specify; S0315 & Language. 
List: *300. We: *219. With Dr. Halo II, a free¬ 
standing ’’paint"; List: *440, Us; *299. 


CLIPPER From Nantucket help techniques for applications, a de- 

^ n j bugger. and it supports Expanded Mem- 

Compile dBASE for Speed, Protection beyond dBASE with 

1,024 fields per data base and 2,048 
active memory variables. 

Clipper has the power to save and re¬ 
store multiple screens to and from mem¬ 
ory variables. You can also create over¬ 
lays. call object modules compiled in other 
languages, and create function libraries 
to link with your applications. Power and 
flexibility make it the ^1 dBASE compiler. 
List: $695, PC Brand: CaU. 


C lipperTM turns lumbering dBASE® 
into a speed dMCN with benefits 
bobbing in its wake: your source code is 
submerged from public view, you can 
distribute your compiled application with¬ 
out royalties, and your customers don’t 
even need copies of dBASE! The Spring 
’87 Clipper offers index files compatible 
with dBase III Plus, and networking capa¬ 
bilities to run compiled programs on ma¬ 
jor networks supporting DCS 3.1 with no 
restrictions on number of users. Clipper 
offers arrays, menu-building commands, 
user-defined functions, context-sensitive 

McMAX Fixm Nantucket 

Like dBASE for the Macintosh 

M cMaxTM is like running dBASE on 
the Macintosh. It combines an 
easy-to-use menu-driven ASSIST mode 
using the Mac interface, an interactive 
command mode like dBASE at the dot 
prompt, and an application programming 
language fully compatible with dBase III. 
It gives you the power to create dBASE 
language applications on the Macintosh 
and transfer back and forth to the IBM® 
world. McMax accommodates up to 16 
million records. 32,000 characters per 
record, 255 characters per field, and up 
to 32 files open concurrently. No copy 
protection. List: $295, PC Brand: Call. 


^ivesifproductcodey .(^eans 

fort through N 

breaking ^®_,-,qelimits.soforprod 


MICROSOFTC4.0 

A Great C Battle Rages and You’re Winning 

t bundles a source debugger and a 


1 "make", and sports a "huge" mem¬ 
ory model permitting single data ob¬ 
jects larger than 64k, but what’s really 
impressive about Microsoft C are the 
benchmarks reported in Dr. Dobb’s. 
Microsoft runs away from a field of 17 
winning 11 of 27 benchmarks. 

The CodeViewTM debugger uses 
windows to show everything on one 
screen: source alongside disassembled 
object, variables, stack and registers. 
Drop down windows obviate learning 
of commands. "A source-level debug¬ 
ger that puts the rest to shame" said 
Dobb’s. 

Microsoft C has five memory models 
for code and data, plus non-library sup¬ 


port for another thirteen, and boasts 
alternate math packages for speed ver¬ 
sus accuracy, with or without 8087/ 
80287 chips. 

Both linker and library manager are 
part of the package, as is the "make", 
which knows how to rebuild any size 
project by compiling only elements 
which have changed. 

It is reportedly used by Lotus, 
Ashton-Tate and, fittingly. Microsoft 
itself to develop Windows. Dobb’s calls 
It "the best MS-DOS C development 
environment value today [for] virtually 
any kind of program conceivable." 

320k suggested. 

Ask for: List: PC Brand: 

G0500 $450 $295 


C TREE & R-TREE 

C-tree: Seasoned to perfection. 
c-treeTM is the only major b-tree file 
manager with network support in the 
standard low-cost version. It allows mul¬ 
tiple users to access an index file simul¬ 
taneously even during updating. Record¬ 
locking routines are provided for DOS 
3.x, UNIX and XENIX. 

C-tree even comes in C source code, 
yet there are no royalties. Source sticks 
to K&R, so C-tree is portable. Ttests in 
many environments prove it. 

C-tree permits any number of keys 
for a data file—alpha, numeric, even 
floating point. It handles files with 
varied record lengths and keeps multi¬ 
ple keys in one index file. Has both high 
level ISAM routines to handle details 


B-Tree File Manager Now Has 

with minimum coding, and decomposed 
step-by-step functions you can access 
directly. In short, you get the works. 

r-4ree: thousands of c-tree users (and 
you) now have a suddenly expanded 
ability to produce ad hoc reports from 
files maintained by c-tree (v. 4.1 and 
up). Just link a file description to the 
r-tree library, and all you need is an 
ordinary text editor to write any 
number of report scripts with no further 
C coding. Reports can access data in 
several files, select on criteria, join the 


Report Generator 

findings into new logical records, sort 
them, calculate new fields and columns, 
tabulate by any number of control 
breaks. The script files show a visual 
representation of the report image for 
easy creation and maintenance of even 
elaborate layouts. r-treeTM comes in 
source, boasts the same portability as 
c-tree. and fits any compiler. 



list; 

PC Brand: 

c-tree: F0660 

$395 

$329 

r-tree: F0665 

$295 

$245 

Combined; 

$650 

$541 


POLYTRON VERSION CONTROL 

Source Code Control for Any Language 


dBC Lattice Library Maintains dBASE 
Compatible Files With the Power and Speed of C 


d BC™ links C to dBASE. It creates and 
maintains files and their indexes which 
exactly replicate dBASE file design. So 
dBASE can read and update them. And 
the reverse. dBC can use any files created 
by dBASE. Now C and dBASE can operate 
on the same data bases interchangeably. 

That opens up the widespread culture of 
dBASE installations to exploitation by C 
programmers. Tap that market, avoid the 
resident dBASE language, and gain the 
advantages of C with this single product.. 

dBC’s functions parallel all dBASE’s file 
handling commands, many decomposed 
to give closer control. Each backed by 
demo source files on disk. 


Use dBC for custom work for clients, or 
on its own. It’s a complete ISAM file 
manager for C whether or not dBASE will 
be used in tandem, supports all four 
memory models, and can have sixteen 
index and data files open. Big discount to 
buyers of both dBASE II and III versions. 
Specify Lattice, Microsoft 3.x. or DeSmet. 
Versions: List: PC Brand: 

LOOII For dBASE II ‘250 ‘195 

LiCCIl With Source ‘500 ‘390 

LOIII For dBASE III ‘250 ‘195 

LCIII With Source ‘500 ‘390 


literature coveu 


PVCS allows programmers, project 
managers, librarians and system ad¬ 
ministrators to control the proliferation 
of revisions and versions of source 
code in software systems. Independ¬ 
ent programmers, the leading soft¬ 
ware publishers and LAN companies, 
and hundreds of Fortune 1000 compa¬ 
nies rely on PVCS to store and re¬ 
trieve multiple revisions of text. It 
maintains a complete history of revi¬ 
sions as an "audit trail", generates 
status reports, and uses intelligent 
"difference detection" to minimize 
disk space for each new version. 

On Corporate and Network PVCS si¬ 
multaneous changes to a module are 
merged into a single new version. If 
changes conflict, the user is notified. 
The ’’Logfiles" used to track changes 
are interchangeable between any 
PVCS product. 


Corporate PVCS is for multiple pro¬ 
grammers. It includes "branching" to 
mamtain code when programs evolve 
on multiple paths. Personal PVCS 
offers most of the power and flexibility 
of corporate PVCS, but excludes mul¬ 
tiple programmer features. Network 
PVCS is the Corporate version for 
LANs. File locking and security levels 
can be tailored to each project. 

PolyMake Still using a prehistoric 
Make? Step up to PolyMake. the most 
popular and powerful Make utility. 
Most flexible macros of any Make. 
Now integrated with PVCS and Poly- 
Librarian for faster performance and 
precise configuration management. 


Ask for: 

List 

PC Brand: 

Personal PVCS 

*149 

*109 

Corporate PVCS 

*395 

*309 

Network PVCS 

CaU 

Call 

PolyMake 

*149 

*109 


For Orders or Literature, Call Us at.... 

800 PC-BRAND 

That's (800) 7ZZ-72Q3. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N.Y 10011-4311 

Telex; 667962 (SOFT COMM NYK) 

(91987 PC BRAND 

Prices, terms, and specifications subject to change without notice. 


CIRCLE NO. 233 ON READER SERVICE CARD 










TODMr^ TOP QUAUTY AIDS TO 
PROGRAMMING PRODUCnVITY 


SUPER SOURCE 

Two great debugging and documenta¬ 
tion tools that support C. Modula, 

Pascal. BASIC, and dBASE: 

Source Print 

Author Alan Simpson writes “the best 
overall debugging technique is to... 
draw lines to connect all the IPs and 
DO WHILES etc. with their ENDIFs and 
ENDDOs. Use a pen or pencil to..." 
Well thanks, Alan, but we'll let Source 
Print do it for us. It draws vertical lines 
to connect all such beginnings and end¬ 
ings in a vivid display of your program’s 
organization. And it can print programs 
with page numbers, headings, line num¬ 
bers. indent automatically, throw in a 
table of contents and a cross-reference 
index. About Source Print PC Magazine 
said, “Occasionally a utility comes 
along that makes a programmer's life 
much easier." List: $25, Ours: $60 


PANEL PLUS Library Source Code Gives It Complete Portability 


Oit^’' 'ROYALTIES! 


There are no end of tools for screen 
design and data entry, but none quite 
like Panel Plus. Design a screen under 
program control, use Panel’s utility to 
"run" and test it field by field, then 
pass it to Panel's code generator which 
delivers C source code. Options style 
the code to your compiler's liking, and 
you can of course do what you like to 
the source afterward. The code calls 
Panel Plus's function library, but now 
the library comes in source, so every¬ 
thing produced is highly portable. Not 
like other screen managers delivered 
as object libraries and which leave you 


to write the detailed code. 

Panel Plus will operate in graphics 
mode via interfaces to graphics prod¬ 
ucts It supports and can utilize the 
EGA's 43-line screen. Low-level I/O 
functions adapt it to various keyboards, 
screens, operating systems. 

Panel's newest incarnation has every 
imaginable feature. A single screen de¬ 
sign can have 1000 fields stacked as 
visual overlays up to 127 levels deep or 
as pop-ups. Groups of fields can be 
moved between levels. Screens can be 
output as compilable code or stored on 
disk for loading at run-time. Each field 


..and T^ee Diagrammer 

Tree Diagrammer prints an organization 
chart of your program's structure show¬ 
ing the hierarchy of function, procedure, 
and subroutine calls. Shows at a glance 


what routines call each other for clearer 
debugging. Every shop should have 
this important documentation tool. List: 
$55. Ours: $45. 


can be boxed, colored, multi-row, word¬ 
wrapped, and scrolled horizontally and 
vertically if larger than its on-screen 
view ap)erture. It can be assigned its 
own help and error message, can be 
told to accept certain characters, or to 
match a picture, and to check data 
after entry—proper dates, number 
ranges, etc.—using Panel's or your own 
validation routines. You can add your 
routines to Panel’s test utility because 
even it comes as source. Fields are ac¬ 
cessed in any order and control reverts 
to your application program after each 
field for choice of action. 

For past Panelists, the new version has 
smaller and faster field and screen 
functions, tighter granulanty. and an en¬ 
hanced. reworked library. Major tool 
for the serious developer. List: $495, PC 
Brand: $395. 


Shopping List tor the Power Worifbench 


ARITY PRODUCTS 

Arity Combination Package. 

Expert System Development Pkg. 

File Interchange Toolkit. 

PROLOG Compiler & Interpreter. 

Screen Design Toolkit. 

SQL Development Package. 

Arity PROLOG Interpreter. 

Arity Standard Prolog. 

AI-EXPERT SYSTEMS 

Autointelligence by IntelligenceWare . 

Experteach II by IntelligenceWare . 

EXSYS Development Software by EXSYS.. 

EXSYS Runtime System. 

Insight 2+ by Level Five Research . 

\n\e\\\gencelComp\\er IntelligenceWare... 

AI-LISP LANGUAGE 

IQCLISP by Integral Quality . 

IQLISP by Integral Quality . 

Microsoft LISP Common LISP . 

TransLISP from Solution Systems . 

TransLISP PLUS from Solution Systems .. 

AI-PROLOG LANGUAGE 
APT Active Prolog Tutor from Solution Sys. 
MPROLOG Language Primer LOG/C 14/ARE 

MPROLOG P500 by LOGICWARE . 

MPROLOG P550 by LOGICWARE . 

Prolog-86 from Solution Systems . 

Prolog-86 Plus from Solution Systems .... 

Turbo PROLOG by Borland Int’l . 

Turbo PROLOG Toolbox by Borland Int’l... 

ASSEMBLERS & DEBUGGERS 
Advanced Trace-86 Morgan Debugger ... 
C-Sprite Debugger by Lattice, source level 
Microsoft Macro Assembler with Utilities 
PASM86 by Phoenix, Macro Assembler .. 
Periscope I Debugger... The Periscope Co. 
Periscope II with NMI Breakout Switch .. 

Periscope ll-X software only . 

Periscope III with Advanced Board...New. 
BASIC LANGUAGE 

Microsoft BASIC Interpreter for XE/V/X.... 
Microsoft QuickBASIC Compiler...3.0. 

BORLAND PRODUCTS 

Reflex & Reflex Workshop. 

Reflex Data Base System . 

Reflex Workshop. 

Turbo Basic...A/ew. 

Turbo C Compiler... A/ew. 

Turbo Lightning. 

Turbo Pascal & Tutor... A/ew. 

TurboPascal with 8087 & BCD . 

Turbo PROLOG Compiler. 

Turbo PROLOG Toolbox. 

Turbo Tutor. 

C COMPILERS 

C86 PLUS by Computer lnnovations...New. 

Lattice C Compiler from Lattice . 

Let’s C Compiler by Mark Williams. . 

with CSD Source Level Debugger . 

MWC-86: Mark Williams C Development .. 

Microsoft C Compiler ...4.0 . 

Turbo C Compiler by Borland...New . 

C INTERPRETERS 

C-Terp by Gimpel Software . 

Instant C by/?a//ona/Sys/ems. 

Interactive-C by IMPACC with debugging.. 
RUN/C Professional from Lifeboat . 


COMMUNICATIONS 

Asynch Manager by Blaise, for C or Pascal 


LIST 

US 

1095 

979 

295 

229 

50 

44 

650 

569 

50 

44 

295 

229 

295 

229 

95 

77 

990 

739 

475 

339 

395 

309 

600 

469 

485 

379 

990 

739 

300 

Call 

270 

Cali 

250 

189 

95 

Call 

195 

Call 

65 

Call 

50 

45 

495 

395 

220 

175 

125 

Call 

250 

Call 

100 

63 

100 

64 

175 

119 

175 

139 

150 

109 

195 

125 

345 

289 

175 

139 

145 

105 

995 

Call 

350 

295 

99 

79 

200 

129 

150 

89 

70 

45 

100 

64 

100 

64 

100 

64 

125 

85 

100 

64 

100 

63 

100 

64 

40 

28 

497 

397 

500 

299 

75 

55 

125 

90 

495 

369 

450 

295 

100 

64 

300 

249 

500 

395 

249 

219 

250 

185 

,175 

117 


LIST US 

Greenleaf Communications by Green/ea/ . 185 139 

C UTILITY LIBRARIES 

Blaise C Tools Plus . 175 117 

Blaise C Tools. 125 84 

Blaise C Tools 2 . lOO 67 

C Food Smorgasbord by La///ce. 150 109 

C Utility Library by Essential, 300 functions 185 139 
Greenleaf Functions by Green/ea/So//ware 185 139 
COBOL LANGUAGE 
RM/COBOL...see Ryan-McFarland Prod. 

Microsoft COBOL Compiler. 700 499 

Microsoft COBOL Compiler for XENIX .... 995 795 

Micro Focus COBOL...see Micro Focus Prod. 
dBASE SUPPORT 

BRIEF/dBRIEF...e/-/e/for DBASE///. 275 Call 

CUPPEKJrom Nantucket . 695 Call 

McMAX...c/ 6 ASE for MAC from Nantucket: 295 Call 

dBx..dSASE to C Translator by DESKTOP Al 350 299 

with Library Source Code . 550 469 

with Full Source Code . 1000 855 

dBC.../rom Lattice...maintains DBASE files 250 195 

with source . 500 390 

dBC III Plus...suppor/s multi-user DBASE.. 750 595 

with source . 1 500 1185 

DEVELOPMENT TOOLS 

BASTOC by JMI, convert BASIC to C . 495 399 

BASIC-C BASIC’s functions added toC ... 175 139 

Report Option Softcraft Btrieve Report Gen. 145 128 
Xtrleve Softcraft Query Utility for Btrieve .. 245 220 

Code Sifter Profiler by David Smith . 119 89 

Dan Bricklln’s Demo Program Pro/o/yper.. 75 69 

LMK from Lattice, “make”like UNIX . 195 149 

Microsoft Window Development Toolkit... 500 365 

ESSENTIAL PRODUCTS 

C Utility Library. 185 119 

Essential Graphics. 250 183 

Essential Comm Library. 185 125 

with Breakout Debugger . 250 189 

FILE MANAGERS 

Btrieve by Softcraft, no royalties . 250 195 

Btrieve Network by So//cra//. 595 465 

C-Tree by FairCom - no royalties, source .. 395 329 

P-Tree by FairCom-Report Generator . 295 245 

C-Tree & R-Tree Combo by FairCom . 650 541 

dbVisXa single user DBMS by Raima . 195 139 

dbyisia multi-user DBMS . 495 399 

Opt-Tech Sort Can sor/S/r/eve///es. 149 105 

FORTRAN LANGUAGE 

RM/FORTRAN by Byan/WcPar/and. 595 499 

FORTRAN Librarles...by A/pba Compu/er . 70 45 

Microsoft FORTRAN Links w/Microsoft C . 450 281 

Microsoft FORTRAN/orXE/V/X. 695 546 

Scientific Subroutine Package by A/pba .. 295 239 

GRAPHICS 

Essential Graphics Essential, no royalties. 250 210 

GSS Graphics Development Toolkit. 495 375 

GSS Kernel System by Graphic Software.. 495 375 

GSS Metafile Interpreter. 295 235 

Ha\o by Media Cybernetics . 300 219 

w/7b Dr. Halo II. 440 299 

Halo for Microsoft includes all fonts . 595 434 

MICRO FOCUS PRODUCTS 
Micro Focus Level II COBOL w/Animator .. 495 395 

Level II COBOL. 349 279 

Level II Animator. 195 155 

Micro Focus Personal COBOL. 149 99 

Forms -2 . 295 235 

MODULA-2 LANGUAGE 

MODULA-2 Apprentice Pkg by LOGITECH . 99 79 


MODULA-2 Magic Pkg by LOGITECH . 

MODULA.2 ROM Pkg & Cross RT Debugger 
MODULA-2 Window Pkg by LOGITECH ... 
MODULA-2 Wizard’s Pkg by LOGITECH ... 

OTHER LANGUAGES & UTILITIES 

Source Print..soL/rce code formatter . 

Tree Diagrammer..soL/rce code diagrammer 

Help/Control by MDS... 123 style Help . 

Microsoft MuMath includes MuSimp . 

Microsoft Pascal Compiler L/n/cs w/M'soft C. 

Microsoft Pascal Compiler for XENIX . 

Turbo Power Tools + by Blaise . 

Advantage C+ + by Lifeboat Assoc . 

PHOENIX PRODUCTS 

PASM86 Macro Assemb/er. 

PDisk Phoenix’s new disk manager . 

Pfantasy Pac six products...New Price _ 

PFinish EXE performance analyzer . 

Pfix86 Plus Symbolic Debugger . 

PforCe vast library .. 

PforCe+ + ...Ei;/7c//on Library for C+ + .... 
Plink86 Plus Utilizes memory for overlays . 

Pmaker like UNIX “make” . 

Pmate with Macros . 

Pre-C UNIX “lint”-alike . 

PTel Binary File Communicator . 

POLYTRON PRODUCTS 

PVCS Corporate...SoL/rce Code Control Syst. 

PVCS Personal. 

PVCS Network. 

PolyMake Complete Make Utility . 

PolyLibrarian Library Manager . 

PolyLibrarian II Library Manaer . 

PolyShell UNIX-like Command Shell . 

PolyXREF Complete Cross Ref Utility .... 

PolyXREF One language only . 

PolyBoost The Software Accelerator . 

PolyDesk III 3rd Generation Desktop Org.. 
Poly Desk III Add On Tools . 

RYAN-McFARLAND PRODUCTS 

RM/FORTRAN...2.4/Vew. 

RM/FORTRAN...L//V/X or XENIX . 

RM/COBOL..DOS . 

RM/COBOL...U/V/X or XE/V/X. 

RM/COBOL Run Time. 

RM/COBOL85...A/VS/85 COBOL . 

RM/COBOL 85 RUN TIME. 

RM/SCREEN.../or COBOL 85 . 

RM/NET +5...COBOL & COBOL 85 Network 
SCREEN DESIGN 

Curses by Lattice, UNIX screen designer.. 

with Source . 

Greenleaf Data Windows.../Vew .. 

with source . 

Panel Plus by Round Hill, no royalties..New 

View Manager for C by Blaise . 

Vitamin C by Creative Programming . 

VC Screen by Creative Programming . 

Windows for C Vermont Creative Software 
Windows for Data includes Windows forC 
ZView Data Management Consultants.... 
TEXT EDITORS 

Brief from Solution Systems . 

Condor Editor by Condor . 

Edix by Emerging Tech...Multi-screen . 

Epsilon by Lugaru Software, like EMACS .. 
FirsTime by Spruce Technology, C syntax . 

Kedit by Mansfield, similar to Xedit . 

LSE, the Lattice Screen Editor Multi Wind.. 

Vedit by Compuview . 

Vedit Plus by Compuview . 


LIST 

US 

99 

79 

299 

239 

49 

39 

199 

159 

75 

60 

55 

45 

125 

109 

300 

199 

300 

199 

695 

546 

100 

67 

495 

435 

195 

125 

195 

125 

995 Cali 

395 

235 

395 

235 

395 

235 

395 

235 

495 

325 

125 

85 

195 

115 

295 

174 

195 

115 

395 

309 

149 

109 

Call Call 

149 

109 

99 

73 

149 

109 

149 

109 

219 

169 

129 

99 

80 

64 

99 

73 

Call 

Call 

595 

499 

750 

599 

950 

799 

1250 

999 

250 

199 

1250 

995 

300 

249 

395 

335 

300 

249 

125 

99 

250 

199 

225 

169 

395 

297 

495 

395 

275 

164 

225 

198 

100 

81 

245 

216 

395 

349 

245 

175 

195 Call 

130 

118 

195 

159 

195 

149 

295 

229 

125 

99 

125 

100 

150 

99 

185 

129 


CIRCLE NO. 233 ON READER SERVICE CARD 































































































































PmCED TO SAVE YOU MONEY, 
SHIPPED EAST ANYWHEIX. 


that some users require from software 
these days. The kind of speed offered 
by software written in the C language. 

The answer is dBx. It translates dBASE 
to C It offers you a major competitive 
advantage over the next dBASE pro¬ 
grammer. But not by converting every¬ 
thing you’ve ever written to C including 
you. Rather, keep right on writing in 
dBASE. Thke every application ^1 the 
way to completion. Then use dBx to 
translate it top to bottom to C source 
code and compile it. 

There are other advantages. C is port¬ 
able, even to other operating systems 
like UNIXTM/XENIXTM as well as to the 
Macintosh or Amiga. dBx is the gateway 
for your applications to places where 
dBASE cannot go. (Library source 
needed for non MS-DOS). 

dBx has its own file management utility 
for single user, but links to major C file 
managers—c-treeTM and dBC—for both 
compatibility with dBASE files and multi¬ 
user support. And you’ll need a C com¬ 
piler. We have everything to get you 
under way, including good advice. So 
call us when you’re ready to put to C. 



List; 

PC Brand; 

(dBx 

$ 350 

$299 

with Library Source 

$ 550 

$469 

with Full Source Co(de $1000 

$855 i 


Call for special dBx Translation System ] 
pricing with includes dBx, C compiler, 
and File Manager. ' 


dBx: dBASE AT THE SPEED OF C 

Ttanslates dBASE Applications to C 

Y ou dBASETM programmers know 
what an expressive and readable 
language dBASE is. It’s a very comfort¬ 
able development environment. But the 
price is debased performance. Even 
compiled dBASE doesn’t offer the speed 

ESSENTIAL C 
UTILITY LIBRARY 

400 Functions, 304^ Each 

Y ou’ve probably seen the speed and 
power of Essential’s C function li¬ 
brary without knowing it. Software greats 
have been using it for some time to give 
today’s top products pizazz and panache. 

Now grown to 400 functions Essential’s 
collection features routines to produce 
pop-up menus, save and restore screens 
and windows to disk or memory in as lit¬ 
tle as 1/lOth second, and the fastest 
video output available. Screen handling 
covers scrolling, paging, word processor 
functions to insert, delete and clear to 
end of lines or screen. Library has a com¬ 
plete set of 50 business graphics func¬ 
tions, 40 string handlers, 28 functions for 
printers, 18 for mice, 11 for time and 
date. Its DOS interfacing functions offer 
disk error trapping to keep DOS from in¬ 
truding on your program, and directory 
and file management with file creation, 
file search using wild cards, plus acqui¬ 
sition and change of file attributes. 

Everything comes in source, including 
sample programs that demo library 
functions. We have versions with pre- 
built libraries for all well-known 0 com¬ 
pilers, and a source code librarian is 
supplied for rolling your own. 

List: PC Brand; 

C Utility Library $185 $119 

Essential Graphics $250 $183 

Essential Communications $185 $125 

with Breakout Debugger $250 $189 

ZVIEW 

Screen Design Aid 

A complete package for screen 
design with full windows manage¬ 
ment as a bonus! Easy creation of 
screens with complex validation, such 
as range checking or required/option¬ 
al data. Powerful Screen Paint' utility 
for creating or editing applications 
screens. Built in security levels, set at 
run-time, control read or read/write 
access by field or screen. Automatic 
help screen processing for run-time 
aid per field or screen. Applications . 
regain control during field tabbing, 
allowing run-time on-screen transaction 
processing or flow control. Run-time 
functions include Screen Read and 
Write with automatic transparent data 
conversion from screen image to data 
storage. Field Editing, Help Screen 
Processing, even a capability to 
change any field characteristic at run¬ 
time, plus Window Push Pop and Scroll. 

Versions for Lattice, Microsoft and 
Aztec C. Automatic free updates to 
registered users. No run-time royalties. 

List: «245 PC Brand: *175 


The CONDOR EDITOR*'® purchase 

T he developer of the Condor data- 
t 


base system has come up with an 
unflappable editor with all the features 
you could hope for, especially a price 
that’s light as a feather. No matter your 
language, the Condor Editor 0ves flight 
to your work with windows—tiled, over¬ 
lapping, or split—to bring multiple files 
to the screen for simultaneous editing, 
full cut and paste between windows, and 
unlimited notepad buffers to store inter¬ 
mediate scraps. The editor has search 
capabilities to identify all files containing 

States’’Our 
these / 




Btrieve 

Kerne! 

I 

•I'e Ship 


Press 

Time 


9/1/85 

550 occ 
3.200 2 26n 

600 ’ll? 

T8.500 46980 

So tZ 
your%%^3a'n- Phont 

name S caz-oWo/tf. 




WINDOWS FOR DATA M’soR Windows Compatible 

indows for DataTM adds the pizazz tines scroll and highlightjists with arrow 


W : 

and practicality of window parti¬ 
tioning for entering data in your applica¬ 
tion. Powerful field-level functions let you 
specify prompt string, field length, data 
type, screen location, picture, receiving 
variable, etc. Field options can require or 
prevent entry, cause beeping on invalid 
entry or overflow, attach field-specific help 
messages, functions to call for entry valida¬ 
tion. You control which keys clear a field, 
jump to next or prior fields, quit, etc. 

The Windows for C subset has all the 
windowing functions without data entry. 
Unlimited windows, defined in C struc¬ 
tures for reference throughout your pro¬ 
gram, can be made either to pop up of 
permanently overwrite the screen. Rou- 

INTERACTIVE-C 

Intrepreter, Editor, Debugger 

I nteractive-CTM is a fully integrated en¬ 
vironment: a complete K&R interpre¬ 
ter bound to its own editor and ’’the best 
debugging facilities of any”, says Com¬ 
puter Language. 2/87. Adjustable edit, 
command, and status windows, second 
screen for program output. Or twin CRTs. 
Can load object code of your compiled 
functions or commercial libraries. Imme¬ 
diate mode, syntax checking both when 
you type and run, and cursor that points 
precisely at errors. Debugger includes 
breakpoints, watchvalues, stepping op¬ 
tions, interactive changing of variables. 
List: $249, PC Brand: $219. 


keys, read and scroll ASCII files both ways 
in windows. Logical treatment of video at¬ 
tributes permits unchanged programs to 
run on color or monochrome. Colors of 
windows are set individually. All functions 
are in separate modules. Only those used 
are linked. Only buffers holding on-screen 
or temporarily obscured windows occu¬ 
py RAM; others released dynamically. 
Clear documentation. 

Specify compiler: List: PC Brand; 

Windows for Data $395 $349 

Windows for C $245 $216 


a sought for keyword and its location in 
those files, ideal for tracking down 
system-wide use of a function or varia¬ 
ble. All DOS commands are available 
from within the editor. And it has either 
menued comrnands in desktop style or 
single keystroke commands once menus 
become obtrusive. Plus Condor claims 
the most extensive help facility of any 
editor should a new need come along. 
And for Condor 3 database management 
users, the Condor Editor cross-references 
command and form files. List; $129. 

PC Brand; $118. Tbgether with compiler 
purchase the price drops to $99. 


BLAISE C Tbols Plus 

N othing pays you back quicker than 
a function library, and Blaise has 
long been known as a great one. 

C Tbols Plus, the top of the line, now 
has over 200 functions. Mature, tight, 
predominantly in C, they isolate hard¬ 
ware dependence, come in source and 
library, with no royalty. The rundown: 

Screen Handling; either via BIOS or 
direct to video adapter; supports EGA, 
43-Iine mode and multiple pages, twin 
monitors. Windows: any number, stack- 
able, writable, wordwrapable, and 
eras^le. Interrupts; well known for in¬ 
terrupt service routines in C, from 
which you can now access DOS func¬ 
tions. Directories: Create, change, or 
search directories, rename files, get 
and change their date/times. Memory: 
control DOS memory allocation, load a 
’’child” process alongside your pro¬ 
gram, even create memory-resident 
programs—and remove them. Strings: 
international money, dates and charac¬ 
ter sets, plus superftmctions to perform 
several tasks with a single call. Gen¬ 
eral: BIOS and DOS gates for direct 
access, memory copy, speaker control, 
it goes on. Our complete Blaise line: 

List: PC Brand: 

C Tbols Plus $175 $117 

Asynch Manager $175 $117 

View Manager $275 $164 

Turbo Asynch Plus $100 $ 67 

Turbo Power Tbols + $100 $ 67 


BTRIEVE ASK us ABOUT XTRIEVE& REPORT OPTION 

Queen B-tree File Manager Abdicates lUiyalties 

Can even extend a file across two drives - 
even two hard disks! 


T here’s no longer a tithe to incorporate 
Btrieve™ in applications, a welcome 
proclamation if roy^ties would ruin your 
profit margins. Btrieve takes complete 
charge of all file creation, indexing, 
reading, writing, insertion, deletion, space 
recapture, forward and backward search¬ 
ing. It builds function call "commands" 
right into the language you use: interfaces 
to C. Pascal, BASIC, and COBOL, with sam¬ 
ple programs in all four, come with each 
copy. 

Btrieve has mainframe specifications! Its 
balanced-tree indexing scheme finds any 
key in a million in four or less accesses. 
Files may have up to 24 indexes; fixed 
record length to 4090 characters; indexes 
up to 255 characters; files of 4 billion bytes. 


Version 4.x speeds DOS interaction for 
large multiply-keyed files; enables 
variable len^ records of virtually any 
length; verifies accuracy (optionally) with 
read after write, useful in gritty en¬ 
vironments; offers password and data 
encryption. 

There’s also Xtrieve, for Btrieve file in¬ 
quiry and data manipulation, and Btrieve 
for report writing. All three in versions for 
any network that supports the MS-DOS 3.1 
file sharing function. 

Ask for: List: PC Brand: 

S0650 *250 *195 

S0652 Network Version *595 *465 


TERMS AND CONDITIONS OF SALE 


Licenses: Each price is for a license to use a prod¬ 
uct on a single computer and does not constitute 
its ownership. We will inquire for you about site 
licenses. Except as otherwise indicated or where 
follows the Product Code, products may be 
used to create programs for distribution without 
royalty payments or additional licenses, provided 
said programs do not substantially replicate the 
products themselves. 

Compatibility: PC BRAND’S standard products 
aredesignedtooperatewiththelBM® PC. XT or AT 
under PC-DOS and require no more than 128k of 
RAM unless indicated. Non IBM machines using 
MS-DOS: contact manufacturer about precise dif¬ 
ferences so we can advise. 

Returns: See box page one. Defective parts will be 
replaced. Please call for authorization to return a 
product for refund. 


Payment: We honor MasterCard, Visa, American 
Express (no surcharge), checks in advance, or 
funds wired to PC Brand, do Chemical Bank, 12C 
East 86 St., New York, Account 034-016058. COD 
(U.S. only) for cash, money order, certified check 
(no fee). NY State, add sales tax. Purchase orders 
accepted from larger corporations and institutions 
at our discretion if you agree to net 30 days plus 2% 
a month late penalty thereafter. 

Shipping & Handling: U.S.; UPS Surface; 1st 
product $6. each add’l $3. UPS 2nd Day Air; 1st 
product $10, each add’l $4.50. UPS Next Day Air or 
Federal Express 1-2 Day Air: 1st product $16. each 
add'l $6. FedEx Next Day 10 AM; 1st product $28, 
each add’l $7. International; Charges vary by 
destination and carrier. $10 per shipping container 
for export forms. Air parcel post at your risk beyond 
collected insurable amount. 


For Orders or Literature, Call Us at.... 

800PC-BRAND 

That’S (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311 

Ttelex; 667962 (SOFT COMM NYK) 

©1987 PC BRAND 

Prices, terms, and specifications subject to change without notice. 4TJ8/87 


CIRCLE NO. 233 ON READER SERVICE CARD 










TECH RELEASES 


Derelopmoits for the 
systems professional 



Anuleh's IJ 5-MIIz Svste/n/2H()A 


SYSTEMS 

A series of 80386-based computers are 
being marketed by Mitsubishi Elec¬ 
tronics. Tlie MP386 Series operate at 
16 MHz with zero wait states. Standard 
features include 32KB of cache mem- 
oiy (expandable to 64KB), sockets for 
an 80287 or 80387, 10 slots for expan¬ 
sion and custom configuration, and 5 
half-height mass-storage devices. The 
MP386 will be sold through resellers 
who provide vertical-niche solutions 
and applications with emphasis on 
value-added features. With a 40MB 
disk-drive, $5,995. 

Mitsuhisbi Electro)lies Aiiiei'icci, liic., 
Coinpiiter Divisioi, 99/ Knox Stivef, 
Toiraiicc, CA 90502: 213/515-2993 

CIRCLE 303 ON RE/VDER SERVICE CARD 

Based on a modular plug-in card archi¬ 
tecture, a family of personal computers 
has been introduced by Anidek Cor¬ 
poration, a wholly owned subsidian’ 
of Wyse Technology. The Systeni/88, 
based on the 10-MHz Intel 8088, fea¬ 
tures a CPU of either 4.77 or 9.54 MHz. 
Systenv88 has a realtime clock, serial 
port, parallel port, 640K13 of RAM, 
seven full-length expansion slots, and 
tAV'O half-height disk drive ba\s. With 
360KB diskette drive, $1,115; and with 
a 20MB hard disk, $1,815. 

The Systeni/286 is an 80286-based 
machine with 512KB \<AM and all the 
features of the System/88 plus an addi¬ 
tional half-height ba\’ and a 190-watt 
power supply. With a 1.2MB diskette 
drive and drive controller, $1,“'95; and 
with a 20MB hard disk, $2,395. 

The Systeiii/286A, based on the 
12.5-MHz Intel 80286, features zero- 
wait-state memon^ architecture. The 
Systenv286A offers all the features of 
the System/286 plus an 8-MHz one- 
wait-state mode, LCD .sy'stem status dis¬ 
play’, 1MB KAM (which is expandable to 
16MB), an additional serial port, and a 


socket for a 6- or 10-MHz 80287. With 
a 1.2MB diskette drive, $2,450; and with 
a 40MB hard disk, $3,750. 

The Systeiii/386, based on the 
l6-MHz Intel 80386, features six expan¬ 
sion slots and has all the features of 
the Sy’stem/286 plus a dynamically 
switchable speed of 8 or 16 MHz, and 
sockets for an 80287 or 80387. With a 
single 1.2MB diskette drive, $3,850; and 
with a 40MB hard di.sk, $4,150. 

The System/386E, is a highly ex¬ 
pandable unit based on the 16-MHz 
Intel 80386 CPU, offering all the perfor¬ 
mance of the Sy^stem/386 plus n^s^o ad¬ 
ditional half-height disk drive shelves 



lixpamlahle H()386 fxLsecl System/SH(^l: from Amdelt 


and a 300-watt power supply. With a 
1.2MB diskette drive, $4,250; and with a 
40MB hard disk, $5,550. 

Anidek Corpoixitioii, 1901 Zemker 
Road, San Jose, CA 95112; 
408/436-E570 

CIRCLE 302 ON RF./VDER SERMCE CARD 

A family of personal computers has 
been released by’ NCR Corporation. 
Ba.sed on NCR's Incremental Worksta¬ 
tion Architecture, the.se computers fea¬ 
ture flexible system configuration. This 
Lirchitecture i.solates the proces.sor on a 
single-slot card on the .sy’stem bus, ena¬ 
bling users to upgrade to next-genera¬ 



MUsti))Ls))i Electronics I6-MHz 

tion microproce.ssors. A Personality^ 

Card combines the functions of a video 
adapter, disk-drive controllers, ex¬ 
tended memory’, serial port, and paral¬ 
lel port on a single board. Discrete, 
functional modules can be added by 
the user; these modules contain expan¬ 
sion slots and storage devices that snap 
together, requiring no tools for installa¬ 
tion. NCR offers a choice of key’boards. 

The PC916 is a 32-bit machine 
based on the 16-MHz Intel 80386. It 
features an ad\'anced system design that 
isolates the microprocessor and the 
primary memory’ on .separate, card¬ 
sized expansion boards that occupy 
two slots in the .sy'stem’s eight-slot bus. 
These boards are connected by’ a 32-bit 
extender bus, which allows direct 32- 
bit access between the processor and 
the memon’ for enhanced perfor¬ 
mance. The companion memoiy board 
comes with 2MB of ^O-nano.second 
dy'namic RAM chips and can support as 
much as 268MB of phy’sical memory- 
and four gigaby'tes of virtual memoiy. 
The machine comes with a 5.25-inch 
1.2MB diskette drive, Pensonality Card 
with EGA, and a clock/timer with bat¬ 
ten’. PC916 with 3()MB hard di.sk, 

$6,353; with 44MB, $6,553; with 70MB, 
$^,553; or with 115MB, $8,653. 

The PC810 is NCR's AT-compatible 
ba.sed on the Intel 80286 running at 6 
or 10 MHz. The PC810 u.ses the .split- 
card architecture of the PC916, allow¬ 
ing u.sers to upgrade to an 80386 in 
the future. The multifunction Personal¬ 
ity Card is axailable in three varieties, 
pro\'iding EGA, color graphics/mono- 
chrome, or no graphics support. The 
PC810 comes configured with 640KB 
RAM (which can be expanded to 16MB) 
a 5.25-inch 1.2MB di.skette drive, 720KB 
or 1.44MB 3-5-inch di.skette drives, and 
a 20MB. 30MB, 44MB or 70MB hard¬ 
disk drives. Prices range from $2,950 
for the basic model with no graphics 
adapter to $5,920 when configured 
with a ^OMB hard di.sk. 


32 


PC TECH JOURNAL 



















PC810, a 10-MHz 80286-based sy^stem from NCR AST-220 multitasking controller from AST ResearcJj, Me. 


The PC710, an entty-level 80286- 
based machine, also incorporates NCR’s 
Incremental Workstation Architecture 
and runs at 6 or 10 MHz. The Personal¬ 
ity Card supports a CGA or EGA. Prices 
range from $1,954 for the basic model 
with one 3.5-inch 720KB diskette drive 
and CGA to $2,870 for an added 20MB 
hard disk and EGA. Additional layers 
are priced as follows: with four expan¬ 
sion slots, $395; with a 3.5-inch 1.44MB 
diskette drive, $840; with 20MB hard 
disk, $1,310, with 3.5-inch 40MB tape 
backup, $1,390; with 5.25-inch 360KB 
diskette drive, $820; or with 5.25-inch 
1.2MB diskette drive, $870. 

NCR Corporation, Personal Computer 
Division, Dayton, OH 45479; 
5131445-6240 

CIRCLE 301 ON READER SERVICE CARD 


CONNECTIONS 

A multitasking controller that allows 
the PC, PC/XT, PC/AT and compatibles 
to operate in the Digital Equipment 
Corporation (DEC) VAX environment as 
windowing VT220 terminals is available 
from AST Research, Inc. A hardware- 
based solution, the AST-220 provides a 
direct or remote connection between a 
PC and dec’s VAX or MicroVAX sys¬ 
tems. The product consists of an add¬ 
on PC card, an RS-232 port mounting 
bracket for two VT220 ports, system 
software utilities, and an in-depth user’s 
manual. The system software down¬ 
loads onto the AST-220 card, which is 
driven by an Intel 80186 with 128KB of 
RAM. This leaves all but 16KB to 20KB 
of the PC’s own memory free to run 
PC applications while using the AST- 
220. The system software provides a 
multitasking operating system with full 
windowing features. Five windows are 
available, all of which may operate si¬ 
multaneously. The windows provide 
concurrent access to two separate DEC 
sessions, a DOS session, and two 


notepads. Kermit and XMODEM prot¬ 
ocols are provided for use on PCs and 
VAX host systems. $595. 

AST Research, Inc., 2121 Alton, Avenue, 
Irvine, CA 92714-4992; 7141863-1333 

CIRCLE 306 ON READER SERVICE CARD 

Digital Equipment Corporation 

(DEC) has announced the volume avail¬ 
ability of the IBM PC Network Inte¬ 
gration Package, which allows users 
of IBM PCs to participate in LANs using 
DEC’S VAX/VMS Services for MS-DOS, a 
software package that allows VAX, 
MicroVAX, and VAXmate computers to 
act as application, data, and resource 
servers to groups of VAXmate and IBM 
PCs. These machines can then use the 



dec’s Netivork Integration Package 


servers to share applications, data and 
resources, access information from 
remote systems on the network and 
apply it in industry-standard applica¬ 
tions. A full package includes DEC’S 
Ethernet controller module (DEPCA), 
dual-mode LK250 keyboard, DEC’S 
mouse, Microsoft Windows, and VT220 
terminal emulation. $1,195. 

For customers who prefer the 
DOS command-line interface, DEC of¬ 
fers the IBM PC Network Services 
Package, which includes the same net¬ 
working functionality, but does not 
support Windows or the VT220 Termi¬ 
nal Emulator and does not include the 
keyboard or mouse. $895. 


DEC also has developed DECnet/ 
SNA Data Transfer Facility (DTE), a 
layered software tliat allows users to 
move information and files between a 
DEC VAX-based system and a Systems 
Network Architecture (SNA) environ¬ 
ment. With either VMS/SNA software or 
the DECnet/SNA Gateway as the link 
between the DEC and SNA environ¬ 
ments, DTE can provide fast, efficient 
bidirectional file transfer capabilities 
using familiar commands and inter¬ 
faces. Also announced is the Advanced 
Program-to-Program Communica¬ 
tions (APPC) software to include the 
most current features available for 
LU6.2. This communications package 
enables programmers in an SNA envi¬ 
ronment to access information residing 
on a DEC network without the neces¬ 
sity of having a DEC user initiate the 
session. DTE server software ranges in 
price from $1,050 for the VAXstation 
2000 to $21,000 for the VAX 8800. DTE 
server on IBM System/370 running the 
VMS operating system, $25,000. Client 
software from $450 for VAXstation 2000 
to $9,000 for VAXstation 8800. APPC/ 
LU6.2 ranges from $450 for the VAXsta¬ 
tion 2000 to $9,000 for the VAX 8800. 
Digital Equipment Corporation, 
Maynard, MA 01754-2571; 
8001344-4825 

CIRCLE 305 ON READER SERVICE CARD 

A wholly owned subsidiary of Novell, 
Inc., OQ, Inc., has released four con¬ 
nectivity products. PCOX 3270 allows 
IBM PC and PS/2 models on a LAN to 
access as many as 40 concurrent main¬ 
frame sessions. The PCOX/COAX- 
MUX, a full-length, high-performance 
coaxial interface board, connects a PC 
or PS/2 and its LAN to the 3299 inter¬ 
face of an IBM 3274 or 3174 cluster 
controller. PCOX/COAX-MUX works in 
conjunction with CXI’s PCOX/GW-3270 
server, to provide the gateway to a 
mainframe for PCs and PS/2s on a LAN. 
All PCOX 3270 coaxial and remote 


SEPTEMBER 1987 


33 



















TECH RELEASES 



VINES/386 network operating sy'stem from Banyan Systems LANtastic 2.0 from Artisoft. Inc. 


LAN-to-mainframe gateway software will 
now support the NetWare SPX LAN in¬ 
terface. Depending on which PCOX 
gateway is used, from 5 to 64 host ses¬ 
sions can be distributed to PCs and 
PS/2s on a Novell LAN. CXI’s five LAN 
workstation packages provide micro-to- 
mainframe functionality to PCs and 
PS/2s on LANs equipped with PCOX 
coaxial and remote gateways. PCOX/ 
TWO is a 3270 micro-to-mainframe 
software package that runs on PCs or 
PS/2s equipped with a PCOX, IBM, 

IRMA, or AST coaxial board. It provides 
the capability to access one host printer 
session concurrently with eight one- 
host sessions or one PC session. PCOX/ 
COAX-MUX, $1,100; PCOX/GW-3270 
server, $850; PCOXAWO, $400; PCOX/ 
TWO, LAN version, $200. 

CXI, Inc., 1157 San Antonio Road, 
Mountain View, CA 94043-1069; 
8001225-7269; in Califomia, 
4151969-1999 

CIRCLE 309 ON READER SERVICE CARD 

A version of a network operating sys¬ 
tem designed to run on the Compaq 
Deskpro 386 has been introduced by 
Banyan Systems, Inc. The vines/386 
package is designed to take full advan¬ 
tage of the 80386 s 32-bit, protected- 
mode operation and full addressing 
capabilities, vines /386 provides a high- 
performance migration path from Ban¬ 
yan’s VINES/286. The software maintains 
full compatibility with Banyan’s high- 
performance Motorola 68000-based net¬ 
work servers: the Banyan/BNS and 
Banyan/DTS. vines/386 software will in¬ 
clude protocol support for communi¬ 
cating with minicomputers and main¬ 
frames or with larger networks that 
include additional Banyan ser\^ers. For 
connection to IBM mainframes, a vines/ 
386-server will allow PCs attached to the 
network to emulate 3270 terminals 
over SNA/SDLC protocols. File transfer 
capabilities will be available to all PCs 
attached to a server through a variet\^ 


of integrated and tltird-party softw^are 
products. viNES/386 will provide commu¬ 
nications with asynchronous hosts via 
VTIOO, VT52, IBM3101, and TTY emula¬ 
tion. File transfer through Kermit pro¬ 
tocol also will be available. $3,995. 
Banyan. Systems Inc., 115 Flanders 
Road, Westboro, MA 01581; 
6171898-1000 

CIRCLE 307 ON READER SERVICE CARD 

A second generation asynchronous 
gateway has been announced by 
Novell, Inc. The NetWare Asynchro¬ 
nous Connection Service (NACS) 
provides LANs running Novell’s Net¬ 
Ware operating system with improved 
access to asynchronous resources; an 
optional hardware add-on product al¬ 
lows off-the-shelf terminal emulation 
software to run with the new gateway. 
Some NACS features are transparent 
resources connection, ability to connect 
to any number of asynchronous gate- 
wa}^s by resource name and ability to 
handle the details of finding an avail- 



Novetts NetXi'are Asvncbronons Connection Sen ice 


able modem or minicomputer and 
then setting of the connection, and 
support for up to nine asynchronous 
sessions at one time. NACS supports 
Novell's X.25 gateway. NACS, $1,095; 
NetWare Asynchronous Board, $149. 

Novell’s NetWare Asynchronous 
Remote Bridge will connect multiple 
remote NetWare LANs to a local Net¬ 
Ware LAN over standard telephone 


lines. This bridge will allow remote 
PCs to gain access to a local NetWare 
LAN. The bridge functions transpar¬ 
ently, allowing a user to transfer data 
to a remote LAN using a command sim¬ 
ilar to one used to send data locally. 
Single-line, $395; multiline, $995. 

Novell, Inc., 122 E. 1700 South, Provo, 
UT 84601; 8001453-1267; in Utah, 
801/379-5900 

CIRCLE 308 ON READER SERVICE CARD 

A networking product with an on-board 
nem^ork processor is available from 
Artisoft, Inc. With an enhanced speed 
as fast as i.4 Megabits per second 
(Mbps), LANtastic 2.0 is compatible 
with NETBIOS and be used with the 
IBM PC Nemork, Novell’s Advanced 
Net^^are or any other NETBIOS-compat- 
ible IAN. Because the on-board pro¬ 
cessor implements the entire NETBIOS, 
LANtastic manages all network traffic, 
thus freeing up the PC to perform 
computing tasks. LANtastic is a bus net¬ 
work and can communicate directly 
with any other PC without any inter¬ 
vening hardware such as hubs, splitters, 
expanders, or tap boxes. When 
computers w^ant to communicate on 
the bus at the same time, LANtastic 
uses a proprietaiy CSMA/CD method 
that can detect a network packet colli¬ 
sion within t^^o microseconds. LAN¬ 
tastic starter kit, including two half-slot 
network cards, cable, bus terminators 
and NETBIOS software, $399; individual 
cards and cable, $199. 

Anisoft, Inc., 3550 N. First Ai'enue, 

Suite 330, Tucson, AZ 85719; 
602/293-6363 

CIRCLE 310 ON READER SERVICE CARD 

An automatic dialing synchronous/ 
asynchronous modem has been intro¬ 
duced by Network Software Associ¬ 
ates, Inc. (NSA). The board-level 
AdaptModem 201/212 modem incor¬ 
porates a built-in synchronous data-link 
control (SDLC) adapter. In synchronous 


34 


PC TECH JOLJRNAL 
















other ingred 

n»(;XT.orATU 

computer 

1 Canon IX-J23W^ 






I JUSKRFU!.S 
with combination! 
interface) 


It makes desktop publishing 
a piece of cake! 


Tall Tree Systems 
introduces another 
breakthrough in desk¬ 
top publishing with 
J17\SER PLUS. We've 
combined a 2 MB 
EMS memory board 
and an interface to 
both a Canon®-based 
laser printer and 
scanner. JLASER PLUS 
increases the perfor¬ 
mance of both devices 
and gives you a low- 
cost solution to the 
limitations you've been 
experiencing with 
them. 


Furthermore, the 
same memory that is 
made available to 
your printer and scan¬ 
ner is also available for 
all your other conven¬ 
tional applications. 

You get system mem¬ 
ory, expanded LIM 
memory, extended 
memory in an AT-type 
machine, RAM Disk 
and print spooler — 
all in a single slot! 

Supporting JLASER 
PLUS is a host of soft¬ 
ware packages, such 
as PC Paintbrush -i- 








mtm' 




from 
ZSoft, 

Dr. Halo D.P.E. 
from Media Cyber¬ 
netics, LaserGL from 
Software Express, 
Ventura Publisher from 
Xerox, Page Builder 
from White Sciences, 
Le Print from Le Baugh 
Software, Fancy Font 
and Fancy Word from 
SoftCraft, Inc., and 


many more 
to be announced. 

It takes a techno¬ 
logical innovator like 


Tall Tree 
Systems to 
provide a major 
advancement like 
JLASER PLUS. And 
we don't stop at 
performance. We also 
deliver value, which is 
truly icing on the cake. 

TALL TREE SYSTEMS 

2585 E. Bayshore Road 
Palo Alto, CA 94303 
1415) 493-1980 
Telex; 9102404041 




CIRCLE NO. 194 ON READER SERVICE CARD 


miL TREE SYSTEMS 


Canon is a registered trademark of Canon, Inc. All software packages listed are trademarks of their re^ective companies. 


© 1986 by Tall Tree Systems. All rights reserved. 











Monitor/7.U, Amclek's VGA-compatible color monitor ^86/AT Board with CS8230-20 AT/386 CHlPSet from Oiips and Tedmolopies 


mode, it functions as a Bell 201C mo¬ 
dem at 2400 bps (bits per second), and 
in asynchronous mode, it functions as a 
Bell 212A modem at 300, 1200, or 2400 
bps, and supports the Hayes AT com¬ 
mand set. NSA offers a full line of com¬ 
munications software programs for syn¬ 
chronous communications, including, 
FC-to-PC, PC-to-minicomputer, and PC- 
to-mainframe. The AdaptModem s auto¬ 
matic call control (ACC) softw^are mod¬ 
ule is a standard feature that provides a 
number of dialing facilities for synchro¬ 
nous applications including automatic 
dialing, answering, and redialing; auto¬ 
matic phone-line and modem testing; 
modem configuration options; and a 
call directon'. $995. 

Network Software Associates, Inc., 

22982 Mill Creek, Laguna Hills, CA 
92653: 7141768-4013 

CIRCLE 311 ON READER SERVICE CARD 


TECHNOLOGY 

The CS8230-20 AT/386 CHIPSet 
Chips and Technologies (C&T) has 
been upgraded to operate at more than 
mace the speed (20 MHz), use one- 
third less board space, and consume 
one-third the power of the original 
PC/AT system. The timing of all seven 
chips in the CHIPSet has been im¬ 
proved and C&T has reimplemented 
the two Data Bus Buffers in Bi-CMOS 
technolog\^ which is faster than its bi¬ 
polar ALS counterpart. The upgraded 
CHIPSet also is incorporated in the 
386/AT Board for developers. CS8230- 
20, $141.50 (in quantities of 1,000); 
386/AT Board, $2,995.00 

The CS8220-10/12 PC/AT CHIP¬ 
Set from C&T incorporates an ad¬ 
vanced memory' controller that pro¬ 
vides the dynamic bus-clock-switching 
function, enabling a system to run at 
full speed for on-board memon^ and 
then switch to half-speed for all off- 
board memon’ and I/O. It also sup¬ 


ports veiy large memory configurations 
from 1MB to 4MB on the system board. 
This CHIPSet also is incorporated in 
the 286/AT Board for developers. 
CS8220-10/12, $51.60 (in quantities of 
1,000); 286/AT Board, $1,495.00. 

The 82C437 SharpScan from 
C&T is an IBM EGA-compatible graph¬ 
ics chip that provides l,128-by-560 line 
resolution for clearer text. Using a 



Cc-T's ShaipScan EGA with 82C437 graphics chip 

pixel-multiplexing function that enables 
users to trade off the number of colors 
available (4 instead of 16) for higher 
resolution, the SharpScan can display 
300 percent more information on a 
screen. Users can switch between high 
resolution and normal EGA, depending 
on their application requirements. The 
SharpScan chip also is present on the 
SharpScan EGA board for developers. 
82C437, $6.70 (in quantities of 1,000); 
SharpScan EGA, $695.00. 

Chips and Technologies, Inc., 521 
Cottonwood Drive, Milpitas, CA 95035; 
408/434-0600 

CIRCLE 312 ON READER SERVICE CARD 


PERIPHERALS 

An add-on memor\^ board that operates 
at the advanced RAM storage and speed 
levels of the Compaq Deskpro 386 is 
available from Computer Peripher¬ 
als, Inc. The 386 Memoire operates 
in the host’s 32-bit mode at speeds as 
fast as 16 MHz with zero wait states. A 
25-pin connector matches the unique 


built-in connector in the Deskpro 386, 
providing access to its 32-bit memory. 
1MB, $845; 2MB, $1,395. 

Cotnputer Peripherals, Me., 2635 
Laveiy Court, Suite 5, Newbwy Park, 

CA 91320; 800/854-7600, in Califor¬ 
nia, 805/499-5751 

CIRCLE 315 ON READER SERVICE CARD 

A family of color and monochrome 
computer monitors fully compatible 
with the IBM Video Graphics Array 
(VGA) standard has been introduced by 
Amdek Corporation. Amdek’s Moni¬ 
tor/432 monochrome monitor and 
Monitor/732 color monitor offer three 
resolution modes: 640 by 480 pixels 
(VGA), 640 by 400 (CGA double- 
scanned), and 640 by 350 (EGA). The 
Amdek monitors produce an analog 
video input signal and feature a high¬ 
speed horizontal scan frequenq^ of 
31.48 KI4z. The Monitor/432 mono¬ 
chrome monitor features a 14-inch di¬ 
agonal display, antiglare flat screen 
with a choice of paper white or amber 
phosphor. The Monitor/732 color moni¬ 
tor has a 12-inch antiglare screen with 
0.28mm-dot pitch. Both monitors fea¬ 
ture vertical-scan frequency of 50, 60, 
and 70 Hz, and a tilt-and-swivel stand. 
Monitor/432, $245; Monitor/732, $625. 
Amdek Coiporation, 1901 Zanker 
Road, San Jose, CA 95112; 
408/436-8570 

CIRCLE 317 ON READER SERMCE CARD 

An enhanced version of the AT_Meg 
memor\’ expansion board has been 
announced by PBJ, Inc. The AT_Meg 
provides up to 8MB of extended or 
expanded memoiy on a single board. 
The board runs at zero wait states on 
6/8-MHz machines and at one wait state 
on 10- or 12-MHz machines. Using sin¬ 
gle in-line memoiy modules (SIMMs), 
the AT__Meg provides both high-densiy 
packaging through surface mount tech¬ 
nology’, plus the ability' to upgrade 
using PC board plug-in modules. In- 


36 


PC TECH JOURNAL 




















'EnhdtHfd' 

■ColorDhpi 


SigmaVGA bridges the graphics generation gap 


True VGA Graphics... Delivered. 

Forget the promises or the confusion. Sigma 
Designs cuts through the smokescreen of 
competing claims with the definitive VGA 
solution, including Mode 13. Introducing 
SigmaVGA, the high resolution graphics dis¬ 
play adaptor that provides 100% VGA BIOS- 
level compatibility for the PC, XT, AT and 
compatibles. SigmaVGA delivers the future 
generation of PS/2 graphics software without 
compromising your ability to run existing 
programs. And it’s available right now! 

More Graphics Flexibility Than 
Ever Before. 

There’s no need to sacrifice your existing 
hardware investment or access to popular 
graphics modes in exchange for VGA capabil¬ 
ity. With SigmaVGA, you can have it all: 


More Colors—A demonstrated spectrum 
of 256 colors out of a palette of 256,000. 

Now its easier than ever before to represent 
complex information, execute designs or 
create intensely vivid presentations. 

More Displays and Emulations— 
SigmaVGA drives digital, analog and multi¬ 
sync monitors and provides EGA, CGA, MDA 
and Hercules Graphics emulations. 

200,000+ EGA Boards Installed. 

A proven leader in the field. Sigma Designs 
has been supplying advanced graphics hard¬ 
ware to major OEM customers. Now you can 
take advantage of this superior technology. 

To find out more about SigmaVGA or other 
advanced Sigma Designs products, see your 
local dealer or call 415-770-0100. 


S I G M A' 

IBM is a registere<I trademark (if Inlematiiial Business Machines. Hercules 
Graphics is a Irajlemark of Hercules Ccimpuler Technology, Inc. 

CIRCLE NO. 202 ON READER SERVICE CARD 



SIGMAVGA 


VGA Enhanced Display Modes 

• 320 X 200 X 256 Colors (Mode 13) 

Out of a palette of 256,000 colors 

• 640 X 480 X 16 Colors 

More resolution than ever before 

• 720 X 400 X 16 Colors or Gray Scales 
Easy reading 9 x 16 matrix in text mode 


Emulation Modes 
EGA, CGA, MDA, Hercules 


Monitors Supported 

• IBM PS/2 Monochrome Display 8503 

• IBM PS/2 Color Display 8512,8513 

• NEC MultiSync (analog and digital modes) 

• Princeton HX12E 

• Compatible analog and digital monitors, both 
monochrome and color 


Sigma Designs Inc. 
46501 Landing Parkway 
Fremont, CA 94538 
Telex 171248 
Fax 415-770-0100 


DESIGNS 


MultiSync is a trademark of NEC Coqmration. 

HXI2E is a trademark of Princeton Graphic Systems, Inc. 




























TECH RELEASES 



SQLBase 3-2 from Gupta Technologies, Inc. 


CodeView debugging screen in Microsoft C Optimizing Compiler 5.0 


eluded with the AT_Meg board is an 
Expanded Memory Manager (EMM) 
Driver that supports expanded memory 
applications and a RAM-disk program. 
Prices range from $579 for a 2MB 
board using 256KB modules to $1,999 
for a full SMB board. 

PBJ Inc., 503 E. 40th Street, Paterson, 
NJ 07504; 201/523-8663 

CIRCLE 314 ON READER SERVICE CARD 


DATABASE MANAGEMENT 

An enhanced version of Gupta Tech¬ 
nologies, Inc.’s distributed database 
management system for PC LANs has 
been released. SQLBase version 3.2 
features a complete implementation of 
the structured query language (SQL) 
and runs on IBM PCs under DOS 3.2. 

It transforms one or more IBM PC/ATs 
into high-performance, relational data¬ 
base servers that can be accessed by 
multiple PCs running on the IBM 
Token-Ring Network. The system also 
operates on any NETBIOS-compatible 
networks, including Novell’s Advanced 
Netware and 3Com’s 3Plus. It includes 
a C application programming interface 
for Microsoft Windows. Multiuser devel¬ 
opment toolkit, $1,995 per server; 
single-user version, $995. 

Gupta Technologies, Inc., 1040 Marsh 
Road, Suite 240, Menlo Park, CA 
94025; 415/321-9500 

CIRCLE 318 ON READER SERVICE CARD 

A software technology licensing agree¬ 
ment has been reached between Ap¬ 
plied Data Research, Inc. (ADR) and 
Software Systems Technology, Inc. 
(SST). Under this agreement, ADR will 
acquire the software technology for 
XDB, SST’s relational database manage¬ 
ment system for IBM PCs, LANs and 
other minicomputer and microcom¬ 
puter systems. With this agreement, 

ADR obtains a worldwide license to 
develop software products incorporat¬ 


ing XDB technology. A system based on 
the structured query language (SQL), 
XDB gives ADR a full-function SQL ca¬ 
pability for its DATACOM/DB database 
management system in LAN and PC 
environments. XDB offers a complete 
implementation of the current ANSI 
standard. XDB’s end-user information 
management features include a report 
writer, forms manager, menu genera¬ 
tor, and an import/export facility for 
transferring data from other files. ADR 
plans to incorporate these features in 
its existing end-user information man¬ 
agement products, such as dataquery. 
Implied Data Research, Inc., Route 206 
and Orchard Road, CN-8, Princeton, NJ 
08540-0008; 201/874-9000 

CIRCLE 319 ON READER SERVICE CARD 

Software Systems Technology^, Me., 

7100 Baltimore Avenue, Suite 206, 
College Park, MD 20740; 

301/779-5486 

CIRCLE 320 ON READER SERVICE CARD 


SOFTWARE DEVELOPMENT 

A library for building programs with 
Borland’s Turbo C compiler is available 
from Blaise Computing, Inc. The 
Turbo C TOOLS library of compiled C 
functions allows the programmer to 
have full control over the PC, the video 
environment, and the file system. The 
library comes with well-documented 
source code that can be studied, emu¬ 
lated, or adapted to specific needs. Fea¬ 
tures include the use of function proto¬ 
typing, prebuilt libraries for all mem¬ 
ory models, cleanly organized header 
files, and a comprehensive, fully in¬ 
dexed manual. Runtime files generated 
using Turbo C tools do not require 
royalty payments. $129. 

Blaise Computing Inc., 2560 Ninth 
Street, Suite 316, Berkeley^, CA 94710; 
800/333-8087; in California, 
415/540-5441 

CIRCLE 326 ON READER SERVICE CARD 


Two versions of Microsoft C language 
compiler, Microsoft QuickC and 
Microsoft C Optimizing Compiler 
version 5.0, are available from Micro¬ 
soft Corporation. QuickC comes with 
an integrated editor, compiler, MAKE 
facility, and source-level debugger, ex¬ 
tensive documentation, which includes 
a tutorial and a context-sensitive, on¬ 
line help facility. Microsoft C Optimiz¬ 
ing Compiler includes tlie QuickC in¬ 
memory compiler and the advanced 
optimizing compiler to enable pro¬ 
grammers to develop prototypes 
quickly and then optimize them. Ver¬ 
sion 5.0 gives users the choice of two 
source-level debuggers: the integrated 
QuickC debugger for quick debugging 
while prototyping, and the enhanced 
CodeView debugger (version 1.11) for 
more complex debugging. QuickC and 
Version 5.0 are completely source- and 
object-level compatible; QuickC emits 
CodeView-compatible executable files. 
Microsoft QuickC, $99; Microsoft C 
Optimizing Compiler 5.0, $450; update 
from 4.0 to 5.0, $75. 

Microsoft also announced the first 
release of its MS-OS/2 Software De¬ 
velopment Kit (SDK), which allows 
software developers to begin the pro¬ 
gression of moving applications soft¬ 
ware to the new MS-OS/2 environment 
for 80286 and 80386-based personal 
computers. The developer’s toolkit con¬ 
tains a prerelease version of the MS- 
OS/2 system kernel and technical speci¬ 
fications for the kernel and the MS- 
OS/2 LAN Manager. Also included are 
MS-OS/2 versions of Microsoft’s macro 
assembler (MASM) and C language 
compilers, the Microsoft CodeView 
debugger, and other software develop¬ 
ment tools (including a program edi¬ 
tor). In addition to a software and tech¬ 
nical seminar, the development toolkit 
includes a one-year license for Micro¬ 
soft’s Direct Information Access Line 
(DIAL) system, an electronic mail tech¬ 
nical support service, and a one-year 


38 


PC TECH JOURNAL 

























Make $ 50 (yhr» 



dBMAM 


fi/ePro 16 




CIRCLE NO. 153 ON READER SERVICE CARD 


Now develop DBMS applications 10 times faster for 
only $199 with MAGIC PC — or your money back! 


Database programmers, why waste your 
time hacking out code? 

Imagine how much faster and more profit¬ 
able you’d be if you could whip up power¬ 
ful database applications without the 
time-consuming coding pains... 
Introducing Magic PC from Aker, your pro¬ 
fessional dream come true. It’s not 
another line-by-line syntax treadmill like 
any DBMS or 4GL. 

Finally you can program as quickly as you 
design, while you delegate all the mun¬ 
dane and redundant coding tasks to 
Magic PC. 

Program 10 times faster 

Develop 
relational 
database 
applications 
10 times fas¬ 
ter using a 
visual 
design- 
driven inter¬ 
face. Instead of writing mountains of "how 
to” procedural code, you quickly place your 
program design specs in Execution Tables 
and Magic PC’s engine executes them auto¬ 
matically. Don’t lose any more time editing 
and debugging programs by hand. 

Incredible Zoom power 

Magic PC’s 
pheno¬ 
menal 
Zoom 

power mag¬ 
ically co¬ 
executes 
related 
programs 

through nested Zoom windows smoothly 
with auto data scrolling in all directions. 
While Zooming, query and transfer data 
across windows or even Zoom deeper. 

No more maintenance! 

Change your programs on the fly without 
any manual maintenance responsibility. 
Magic PC automatically updates your 
changes online since all the data describing 
your design (data dictionary, programs and 
menus) make up a single file, self- 
maintaining Integrated Library. 

Magic PC does it all 

Design your entire database application 
with only one comprehensive develop¬ 
ment system. Generate both online 
programs (screens, windows, 
menus), as well as batch pro¬ 
grams (reports, updates. 


import/export, etc.) with full color and gra¬ 
phics. You no longer fall between the cracks 
dealing with separate and inconsistent 
programming utilities. 

Free LAN features 

Develop multi-user applications for 
local area networks with Magic PC's 
automatic support for file and 
record locking security. 

Quick prototyping 

Prototype a complete working application 
in just hours and get immediate customer 
feedback to finalize the design. It’s a true 
time-saver. 

Stand-alone runtime 

Distribute your applications and protect 
your design with a low cost runtime engine. 
It has the friendliest end-user visual inter¬ 
face you’ve ever seen with built-in, menu- 
driven and syntax-free data retrieval power. 

Jeff Duntemann, PC Tech Journal: 

"Magic PC is probably the best integrated 
database application generator that we 
have seen ... very smooth system, and 
smoothness comes at a premium these 
days." Also recommended by PC Magazine, 
PC World, PC Week, Computer Language, 
Data Based Advisor and many more around 
the world. 

Try It for $19^5 

If you develop database applications for a 
living, you can’t afford not to try Magic PC for 
yourself right now. For $ 19.95 you’ll get the 
Magic PC Tutorial software and documenta¬ 
tion for hands-on evaluation, complete with 
a step-by-step guide to develop an Order 
Entry sample application In just a few 
ho.urs. 

Magic PC $199 

No kidding! For a limited time only, save 
almost $500 off the $695 list price, and get 
the complete unprotected Magic PC soft¬ 
ware for only $ 199 at our special introduc¬ 
tory non-resale price. 


Money back guarantee 


Even at $ 199 you can’t go wrong with our no- 
risk guarantee; keep it only if it makes 

magic for you, or we’ll buy it back 
within 30 days less $19.95 


restocking fee. 


System Requirements: 
IBM PC. XT AT, PS/2 
and 100% compatible, 
PC-DOS 2.0 or later. 
'jDK. hard disk. All 
trademarks 
acknowledged. 


MAGIC PC 


Database Language 


The 


































COBOU2 Software Developntettt Kit from Micro Focus 


subscription to the Microsoft Systems 
Journal. MS-OS/2 SDK, $3,000. 

Microsoft Corporation, 16011 N.E. 36th 
Way, P.O. Box 97017, Redmond, WA 
98073-9717; 8001426-9400; in Wash¬ 
ington and Alaska, 2061882-8088 

CIRCLE 321 ON READER SERVICE CARD 

A pre-release version of the Lattice 
OS/2 C Compiler has been an¬ 
nounced by Lattice, Inc. This com¬ 
piler allows mixed memory models 
and direct calls to the operating system. 
It eliminates the 64KB static data limita¬ 
tion, and it gives an option to make the 
default integer size 32 bits. The com¬ 
piler features an extensively reworked 
library and expanded manuals, which 
include information designed to help 
programmers take advantage of OS/2’s 
advanced features. Available only as an 
upgrade to Lattice C 3.2, this version 
includes all prerelease updates and a 
copy of the production version, $150. 
Lattice Inc., 2500 S. Highland Avenue, 
Lombard, IL 60148; 800/533-3577; in 
Illinois, 312/916-1600 

CIRCLE 327 ON READER SERVICE CARD 

Designed for DOS and OS/2 applica¬ 
tions, the COBOL/2 Software Devel¬ 
opment Kit (SDK) has been released 
by Micro Focus. The Micro Focus 
COBOL/2 compiler, featured in SDK, 
features the ability to bring existing 
COBOL code from a non-DOS environ¬ 
ment, support of nine COBOL dialects, 
and a broad implementation of the 
COBOL language. COBOL/2 compiles 
ANSI 74 and ANSI 85 COBOL, OS/VS 
and VS COBOL IL Micro Focus Level II 
COBOL, RM/COBOL, DG Interactive 
COBOL, IBM PC COBOL version 1, and 
IBM’s Systems Application Architecture 
standard. The COBOL/2 compiler also 
eases the tasks of migrating COBOL 
source code through its 32-bit address¬ 
ing architecture. Standard features in¬ 
clude network support. Micro Focus 
ANIMATOR visual debugging tool, call in¬ 


terfaces to C and other languages, and 
copies of the Microsoft Linker and Li¬ 
brary Manager. The SDK also includes 
XM, an extended memory program for 
writing protect mode applications 
under DOS; Xilerator, a object code 
debugger that displays both assembly 
language and COBOL; Panels, which 
helps in creating overlapping windows 
in COBOL; the COBOL/2 Editor; and 
the Resident Run-Time System, with 
advanced program management fea¬ 
tures. COBOL/2 SDK, $1,500; COBOiy2 
compiler alone, $900. 

Micro Focus, 2465 E. Bayshore Road, 
Palo Alto, CA 94303; 800/872-6265; in 
California, 415/856-4161 

CIRCLE 322 ON READER SERVICE CARD 

A PC-based AI environment is available 
from MicroProducts, Inc. that offers 
virtual memory. PowerLisp can de¬ 
velop and run professional 60MB appli¬ 
cations with the speed, power, and per¬ 
formance of a symbolic processor on a 
PC/AT or 80386-based machine with 
3MB of RAM and a 40MB hard disk. 
PowerLisp is the complete implementa¬ 
tion of InterLisp and contains many of 
the features of Common LISP, such as 
packages, multiple-value returns, and 
catch-and-throw forms. PowerLisp is a 
complete LISP programming environ¬ 
ment that features an efficient optimiz¬ 
ing compiler. PowerLisp contains a 
debugging program, a structure editor, 
and Masterscope, a static-program ana¬ 
lyzer that allows the developer to find 
and edit every place in the program 
where a given function is called or 
where references are made to specific 
variables, object, or properties. Pro¬ 
gram editing features allow for editing 
and individually recompiling functions, 
including the ability to put breakpoints 
in functions as well as trace them, and 
print variable and stack bindings. 

Also available is Power-Ex, a ex¬ 
pert system shell developed at Stanford 
University under the name EMYCIN, is 


PowerLisp AI environmettt from MicroProducts, Inc. 

an optional development tool. 286 ver¬ 
sion of PowerLisp, $1,195; with a 3MB 
expansion board, $1,695; 80386 version, 
$1,695; Power-Ex (when purchased 
with PowerLisp), $500. 

MicroProducts, Inc., 370 W. Camino 
Gardens Blvd, Boca Raton, EL 33432; 
800/553-0777; in Florida, 
305/392-9800 

CIRCLE 324 ON READER SERVICE CARD 

A spreadsheet compiler has been intro¬ 
duced by SoftLogic Solutions, Inc. 
The program, ©Liberty, enables users 
to create and distribute executable 
spreadsheet applications that can be 
run without the original spreadsheet 
program for as little as $10 per user. 
Using proprietary software technology, 
©Liberty separates the tasks of spread¬ 
sheet development and usage so devel¬ 
opers can create a spreadsheet applica¬ 
tion or template using popular pro¬ 
grams (such as Lotus 1-2-3 and Sym¬ 
phony, Microsoft’s Multiplan, and Com¬ 
puter Associates International’s Super- 
Calc4) and distribute executable, run¬ 
time files. End-users can run the 
©Liberty-compiled spreadsheet without 
the original spreadsheet program to 
enter and modify specified data, calcu¬ 
late results and export data back to the 
original spreadsheet. All formulas are 
invisible to and are protected from 
modification or destruction by the user. 
Licensing plan in which the developer 
can distribute ©Liberty-compiled 
spreadsheets and documentation for 10 
users, $99.95; refill pack and 15 more 
user licenses, $99.95. 

SoftLogic Solutions, Inc., One Perimetei' 
Road, Manchester, NH 03103; 
800/272-9900; in New Hampshire, 
603/627-9900 

CIRCLE 325 ON READER SERVICE CARD I 'linMiiii ffil 


The material that appears in Tech Releases 
is based on vendor-supplied information. 
These products have not been reviewed by 
the PC Tech Journal editorial staff. 


40 


PC TECH JOURNAL 





















We're Programmer's Connec¬ 
tion, your best one-stop 
source for quality program¬ 
mer's development tools for 
IBM personal computers and 
compatibles. Here are some 
important facts you should 
know about us and other 
dealers in our industry. 

FAa: 

FREE Shipping. Shipping to U.S. 
customers is FREE via UPS Ground. 
If you want your order shipped via 
an express service, we'll only charge 
you the shipping carrier's standard 
rate with no special fees. Some 
dealers charge extra for shipping 
and then add rush charges for ship¬ 
ping via express services. Others 
may advertise "free" shipping but 
make up for it by charging extra 
handling fees. 

FAa: 

Credit Cards. We'll charge your 
credit card only when we actually 
ship your order. Some dealers would 
charge your credit card at the time 
you place your order. This could 
leave you waiting for your shipment 
for weeks or months while they use 
your money interest-free. 

FAa: 

Discounts. We discount all software 
products — even special order 
items. Every product in our adver¬ 
tised price list is shown with its list 
price and discounted price. We want 
you to know exactly how much you'll 
save on every product We don't try 
to fool you by discounting some 
products and charging full retail for 
others. 


FAa: 

Consistent Prices. We extend the 
same current prices to every cus¬ 
tomer regardless of where they see 
our ad. Some dealers vary prices in 
different ads and then ask you to 
mention which one you saw. This 
technique allows them to charge 
you the highest prices possible. 

FAa: 

No Hidden Charges. The discount 
prices you see on the next two 
pages are all you pay. We don't 
charge extra for UPS Ground ship¬ 
ping, credit cards, COD orders, pur¬ 
chase orders, sales tax (except Ohio) 
or special handling (except for non- 
Canadian international orders). 

FAa: 

Guarantees. We offer FREE 30-day 
no-risk return guarantees and 30- 
day evaluation periods on most of 
our products. Some dealers have 
no return options while others often 
charge restocking fees of 15% or 
more. 

FAa: 

Quality Products. Our product line 
consists of hundreds of high quality 
software developrhent tools speci¬ 
fically for IBM Personal Computers 
and compatibles. While some deal¬ 
ers tty to cany every software prod¬ 
uct ever written, we carry only those 
that meet our very high standards 
for quality and value. 

FAa: 

Latest Versions. The products we 
carry are the latest versions and 
come with the same manufacturer's 
technical support as if buying direct 
While some dealers may participate 
in the software gray market, we're 
authorized to sell every product we 
carry. 

FAa: 

Large Inventory. We have one of 
the largest inventories of program¬ 
mer's development products in the 
industry. Most orders are shipped 
within 24 hours. And if we don't have 
a product in stock, we'll get it for you 
fast 


Turn the page for our product list and ordering Information. 


FAa: 

Meticulous Packaging. We'll give 
your shipment the extra protection 
needed to reach you in the best 
possible condition. First we'll pro- 
tectyour products from moisture by 
wrapping them in plastic. Then we'll 
insulate your box with high quality 
bubble-wrapping instead of the 
messy styrofoam chips that many 
other dealers use. Finally, we'll 
double-tape your box for extra 
strength. 

FAa: 

Independence. Since we're not di¬ 
rectly affiliated with any software 
publisher or developer, we c.an give 
you sound, unbiased advice. Unlike 
some dealers who have a special 
interest in promoting only certain 
products, we'll give you an objective 
look at the products we carry. 

FAa: 

Noncommissioned Staff. Our 

courteous sales staff is always ready 
to help you. And if you aren't sure 
about your needs, our knowledge¬ 
able technical staff can give you 
sound, objective advice. Because 
they are noncommissioned, you 
won't be pressured into making a 
purchase. 

As you can see, we're different 
from the other dealers in our 
industiy. Our customers keep 
coming back because we con¬ 
sistently provide the highest 
quality service and the lowest 
prices. So call us today and 
e}q>erience the differences for 
yourself. 



CIRCLE NO. 175 ON READER SERVICE CARD 





ai - expert systems 


List 

Ours 

1 st-CLASS Ay Programs in Motion . 


495 

399 

EXSYS Development Software by EXSYS . 


395 

309 

EXSYS Runtime System. 


600 

469 

Logic-Line Series AH varieties by Thunderstone.. 


CALL 

CALL 

ai - lisp language 




GCLISP Golden Common USP by Gold Hill . 


495 

CALL 

GCLISP 286 Developer by Gold Hill . 


1190 

CALL 

Microsoft LISP Common USP . 


250 

149 

QNIAL Combines USP & APL byNIAL Systems .. 


CALL 

CALL 

TransLISP PLUS from Solution Systems . 


195 

125 

ai - Prolog language 




Arity Combination Package . 


1095 

979 

Expert System Development Pkg. 


295 

229 

File Interchange Toolkit. 


50 

44 

PROLOG Compiler & Interpreter. 


650 

569 

Screen Design Toolkit. 


50 

44 

SQL Development Package. 


295 

229 

Arity PROLOG Interpreter. 


295 

229 

Arity Standard Prolog . 


95 

77 

LPA microPROLOG AH Varieties . 


CALL 

CALL 

MPROLOG Language Pxmex LDGICWARE . 


50 

45 

MPROLOG P500 byLDGICWARE . 


495 

395 

MPROLOG P550 byLDGICWARE . 


220 

175 

Turbo PROLOG by Borland Inti . 


100 

64 

Turbo PROLOG Toolbox Ay £a/'/d/7////7//. 


100 

64 

ai - Smalltalk language 



Smalltalk/V. 


99 

84 

EGA/VGA Color Option. 


50 

45 

Goodies Diskette. 


50 

45 

Smalltalk/Comm. 


50 

45 

ai - texas instruments 



Arborist Decision Tree Software . 


595 

519 

PC Scheme Lisp . 


95 

84 

Personal Consultant Easy. 


495 

435 

Personal Consultant Image. 


495 

435 

Personal Consultant Online . 


995 

869 

Personal Consultant Plus. 


2950 

2589 

Personal Consultant Runtime. 


95 

84 

ada language 




AdaVantage Ay Meridian Software Systems . 


795 

735 

AdaVantage Utility Packages. 


CALL 

CALL 

DOS Environment Package . 

. New 

50 

47 

Janus/ADA C Pak Ay R&R Software . 


95 

84 

Janus/ADA 0 Pak by R&R Software . 


1250 

1059 

Janus/ADA ED Pak by R&R Software . 


395 

349 

apl language 




APL-PLUS/PCAy^TSZ:. 


595 

424 

APL*PLUS/PC Spreadsheet Mgr bySTSC . 


195 

139 

APL-PLUS/PC Tools Vol 1 bySTSC . 


295 

199 

APL*PLUS/PCTools Vol2Ay57’5£. 


85 

58 

ATLAS‘GRAPHICS Ay 575£. 


450 

329 

Financial/Statistical Library Ay . 


275 

189 

Pocket APL Ay . 


95 

69 

STATGRAPHICSAy^TS/:. 


795 

579 

assembly language 




Cross Asm by Phar Lap . 


495 

389 

8088 Assembler w/Z-8D Translator by 25D0 AD . 


100 

89 

ASMLIB Function Library by BC Assoc . 


149 

125 

asmTREE B-Tree Dev System by BC Assoc . 


395 

329 

Cross Assemblers Various by 2500 AD . 


CALL 

CALL 

EZASM Ay C Source . 

. New 

70 

64 

Microsoft Macro Assembler. New Version 

150 

93 

Norton Utilities by Peter Norton . 


100 

CALL 

Norton Utilities (Advanced) .. 


150 

99 

Turbo Debugger bySpeedware .. 

. New 

89 

79 

Turbo Editasm bySpeedware .. 


99 

84 

Visible Computer: 80286 .. 

. New 

100 

89 

Visible Computer: 8088 by Software Masters _ 


80 

64 

basic language 




87 Software Pak Ay Hauppauge . 


180 

149 

db/Lib for QuickBASIC by AJS Publishing . 

, New 

99 

89 

EXIM Services Toolkit Ay £A74f. 


50 

45 

Finally Ay Komputerwerks . 


99 

85 

MACH2Ay4f/i:/o//e//7 . 


69 

55 

Microsoft QuickBASIC. $20 Rebate Offer 

99 

63 

QBase Relational Database by Crescent . 

New 

89 

79 

Quick-Tools Ay BC Associates . 


130 

109 

QuickPak Ay Crescent Software . 


69 

59 

Scientific Subroutine Uhxavi by Peerless . 


125 

99 

Screen Sculptor Ay Software Bottling . 


125 

91 

Stay-Res by MicroHelp . 


69 

55 

True Basic w/Run-time . Special Price 

200 

99 

True Basic. 


100 

79 

Run-time Module. 


100 

79 

Various Utilities . 


50 

41 

Turbo BASIC Zom\i\\ex by Borland Inti . 


100 

64 

blaise products 




ASYNCH mHhZUX Specify Cor Pascal . 


175 

135 

C TQQLS PLUS. 


175 

135 

LIGHT TQQLS forDatalight C . Special Price 

100 

65 

PASCALTQQLS . 


125 

99 

PASCAL TQQLS 2. 


100 

79 

PASCAL TQQLS 8i TQQLS 2. 


175 

135 

RUNQFF Text Formatter . 


50 

45 

TURBQ ASYNCH PLUS. 


100 

79 

TURBQC TQQLS . 


129 

CALL 

TURBQ PQWER TQQLS PLUS. 


100 

79 

VIEW MANAGER Specify C or Pascal . 


275 

199 

borland products 




EUREKA Equation Solver . 


167 

105 

Reflex & Reflex Workshop. 


200 

128 

Reflex Data Base System . 


150 

89 

Reflex Workshop. 


70 

45 


Sidekick 8i Traveling Sidekick. 



125 

85 

Sidekick. 



85 

57 

Traveling Sidekick. 



70 

45 

Superkey . 



100 

64 

Turbo BASIC Compiler. 



100 

64 

Turbo BASIC Database Toolbox. 



100 

64 

Turbo BASIC Editor Toolbox. 



100 

64 

Turbo BASIC Telecom Toolbox. 



100 

64 

Turbo C Compiler (Call for support products) ... 


100 

64 

Turbo Database Toolbox. 



70 

41 

Turbo Editor Toolbox. 



70 

41 

Turbo Gameworks Toolbox. 



70 

41 

Turbo Graphix Toolbox. 



70 

41 

Turbo Jumbo Pack. 



300 

219 

Turbo Lightning. 



100 

64 

Turbo PASCAL Numerical Methods Toolbox ... 


100 

64 

Turbo PASCAL and Tutor. 



125 

85 

Turbo PASCAL . 



100 

64 

Turbo Tutor. 



40 

24 

Turbo PROLOG Compiler. 



100 

64 

Turbo PROLOG Toolbox. 



100 

64 

Word Wizard. 



70 

47 

Word Wizard and Turbo Lightning. 



150 

94 

c compilers 

C86PLUS by Computer Innovations . 



497 

375 

DeSmet C w/Debugger & Large case ... 



209 

184 

DeSmet C w/Debugger only . 



159 

138 

Eco-C Complete System by Ecosoft . 



140 

119 

Lattice C Compiler vers. 3.2 from Lattice 



500 

265 

Mark Williams Let's C w/csd. 



125 

99 

Microsoft C Compiler w/CodeView .... 

. .New version 

450 

269 

Microsoft QuickC Compiler. 



99 

63 

Optimum-C by Datalight . 



139 

105 

Turbo C Compiler by Borland . 



100 

64 

Uniware 68000/10/20 Cross Compiler bySDS 


995 

829 

c interpreters 

C-terp by Gimpel, Specify compiler . 

. New Version 

300 

219 

C Trainer with Book by Catalytix . 



122 

87 

Instant C by Rational Systems . 

. New Version 

500 

369 

Introducing C by Computer Innovations .. 



125 

99 

Rm/Z by Age of Reason . 



120 

69 

Run/C Professional by Age of Reason ... 



250 

145 

c Utilities 

C++ by Guidelines w/version /. / kernel .. 



195 

172 

Csharp Realtime Toolkit by Systems Guild 



600 

539 

c-tree & r-tree Combo by FairCom . 



650 

519 

c-tree ISAM File Manager . 



395 

315 

x-Xxee Report Generator . 



295 

239 

ZaXa'NmAovn by Magus Inc . 



245 

209 

with Source Code . 



595 

499 

dBx dBASE to C Translator by Desktop A! 



350 

299 

with Source Code . 



550 

469 

Flash-up Windows by Software Bottling .. 



90 

78 

Graphic Color version by SciEndeavors. .. 



350 

282 

ZRMl\R by Sutrasoft . 



175 

159 

HALO Graphics by Media Cybernetics .... 



300 

205 

HALO Development Pkg for Microsoft.... 



595 

389 

The HAMMER by DES Systems . 



195 

129 

PANEL Forms Management by Roundhill.. 



295 

215 

PANEL/TC for Turbo C by Roundhill . 



129 

95 

PANEL Plus by Roundhill . 



495 

395 

PC Lint by Gimpel Software . 



139 

99 

PLOTHP by Sutrasoft . 



175 

159 

RTC PLUS Fortran to C by Cobalt Blue ... 



450 

399 

Scientific Subroutine Uhxax^ by Peerless . 



175 

135 

TE Text Editor source by Sub Systems ... 


. New 

95 

85 

Vitamin C by Creative Programming . 



225 

158 

VC Screen Forms Designer . 



100 

79 

Zview by Data Mgmt Consultants . 



245 

139 

cobol language 

COBOLspil byFlexus . 



395 

329 

FPLIB for Realia CDBDL by BC Associates. 



149 

129 

Mjcro Focus COBOL See Micro Focus Section 
Microsoft COBOL See Microsoft Section 

PCDT by Pro-Code . 

. New 

995 

895 

Realia COBOL with RealMENU. 

New Version 

1145 

899 

Realia COBOL. 

New Version 

995 

783 

RealCICS. 



995 

783 

RM/COBOL by Ryan-McFarland . 



950 

CALL 

RtH/ZQROLB5 by Ryan-McFarland . 



1250 

CALL 

SCREENIO ^y/Yorco/n. 


. New 

400 

379 

screenplay for CDBDL by Flexus . 



175 

129 

CSS products 

Combo Package by Custom Software Systems ..., 

. New 

199 

175 

PC/SPELL Spelling Checker . 



49 

45 

PC/TOOLS UNIX-like UtilHies . 



49 

45 

PC/VI viEditor . 



149 

99 

debuggers profilers 

386 DEBUG Cross Debugger by Phar Lap . 

195 

129 

Advanced Trace-86 by Morgan Computing 



175 

115 

Codesmith-86 by Visual Age . 



145 

98 

DSD87 by Soft Advances . 



125 

79 

MiniProbe Ay>1//o/7. 



395 

369 

Periscope 1 with Board by Periscope . 



345 

289 

Periscope II with NM! Breakout Switch .... 



175 

139 

Periscope ll-X Software only . 



145 

105 

Periscope III 8 MHz version . 



995 

799 

Periscope III 10 MHz version . 



1095 

899 

The PROFILER with Source CodebyDWB.. 



125 

89 

TURBOsmith Source debugger for Turbo Pascal... 


69 

59 

The WATCHER Profiler by Stony Brook.... 



60 

51 

disk utilities 

Back-lt by Gazelle Systems . 



100 

89 

Disk Optimizer by Softlogic Systems . 



60 

55 

FASTBACK by 5th Generation Systems.... 



179 

129 

Vcache by Golden Bow Systems . 


New 

50 

47 

Vopt by Golden Bow Systems . 


New 

50 

47 

Vfeature by Golden Bow Systems . 


New 

80 

74 

Vfeature Deluxe by Golden Bow Systems .. 


New 

120 

111 

XenoCopy-PC by XenoSoft . 



80 

69 


dos utilities 

Command Plus by ESP Software . 80 69 

FANSI-CONSOLEA/Z/e/se/Af/iTAO. 75 62 

MicroHelp Utilities A/Af/c/o//e//7 . 59 49 

Norton Commander A//’e/e/'^o/ro/7. 75 CALL 

Shell Language by Software Factory . 99 89 

Q-DOS II by Gazelle Systems . 70 59 

lasMeyn by Sunny Hill Software . 80 55 

essential products 

C Utili^ Library. 185 119 

Essential Comm Library with Debugger . 250 189 

Essential Comm Library 5o/rtvere . 185 125 

Breakout Debugger Only Any language . 125 89 

Essential Graphics. 250 183 

forth language 

CFORTH yVa//Ve fez/e/ro/77/7/7e/'A/ZAf/. 300 229 

Forth/83 Metacompiler Specify Target . 750 599 

PC/Forth by Laboratory Microsystems . 150 109 

by Laboratory Microsystems . 250 199 

Advanced Color Graphics Support. 100 74 

Enhanced Graphics Support. 200 148 

Intel 8087 Support . 100 74 

Interactive Symbolic Debugger. 100 74 

Native Code Dptimizer. 100 74 

Software Floating Point. 100 74 

UR/Forth Ay ZAf/. 350 279 

Object Module Libraries. 500 395 

fortran language 

50 MORE: FORTRAN by Peerless Scientific . 125 95 

Sams by Alpha Computer Service . 495 389 

AUTOMATED PROGRAMMER Ay/r/?/r>1y/o/na/e// New CALL CALL 

Essential Graphics Ay £see/7//a/5‘eAr»ve/B . 250 183 

For-Winds Ay/l//7Aa £'a/77/7i//e/'5emee . 90 69 

Forlib-PlusAy/l//>Aa A‘a/77/7a/e/'5eA'/ce. 70 44 

FORTLIB Ay5a//asoAr. 125 109 

FORTRAN Addendum Ay/a7/7a/5e£a£r/-. 95 85 

FORTRAN Addenda Ay Impulse Engr . 165 138 

GRMllB by Sutrasoft . 175 159 

HALO Graphics by Media Cybernetics . 300 205 

I/O PRO w/No Limit Library Ay Af££. 250 219 

Microcompatibles Combo Package. 240 215 

Grafmatic. 135 117 

Plotmatic. 135 117 

Microsoft FORTRAN w/CodeView . 450 269 

No Limit Library Ay MEF Environmental . 129 109 

Numerical Analyst Ay AM5//5. 295 249 

PANEL Ay Roundhill Computer Systems . 295 215 

PIZTH? by Sutrasoft . 175 159 

RM/FORTRAN Ay/?yaa-Afc£a//aa//. 595 CALL 

RTC PLUS Fortran to C by Cobalt Blue . 450 399 

Scientific Subroutine Lib Ay £aa//aas. • 175 135 

by Alpha Computer Service . 295 235 

Statlib.GL: Ay/’aa//aaa. New Version 295 239 

Statlib.TSF: Ay/’eaz/aas. New Version 295 239 

by Alpha Computer Service . 70 45 

greenleaf products 

Greenleaf Comm Library . 185 125 

Greenleaf Data Windows Library. 225 155 

with Source Code . 395 249 

Greenleaf Functions. 185 125 

help utilities 

HELP/Control Ay 4fZ?5. 125 99 

On-line Help//oa?/7/j/-7aaA. 149 99 

SoftScreen/HELP AyZ?/a/ac//c5y5/a/775. 195 149 

lattice products 

Lattice C Compiler ver 3.2 from Lattice . 500 265 

with Library Source Code . 900 495 

C Cross Reference Generator. 50 37 

with Source Code . 200 139 

C-Food Smorgasbord Function Library . 150 95 

with Source Code . 300 179 

C-Sprite Source Level Debugger . 175 119 

Curses 5aaaa Afaaa^a/-. 125 85 

with Soufta Code . 250 169 

dBC Specify dBC H or dBC III . 250 169 

with Source Code . 500 356 

dBC III Plus. 750 594 

with Source Code . 1500 1184 

LMK Make Facility . 195 138 

RPG II Combo AH three items below . 1100 875 

RPG II Compiler No Royalties . 750 625 

RPG II SEU Screen Entry Utility . 250 199 

Sort/Merge. 250 199 

RPG II Screen Design Aid Utility. 350 309 

SecretOisk £/7a £ac/y/7//oa Z///7//y. 120 88 

SideTalk Resident Communications . 120 88 

SSP/PC Scientific Subroutine Library . 350 269 

Text Management Utilities. 120 88 

TopView Toolbasket £//aa//aa Z/A/a/y. 250 178 

with Source Code . 500 356 

metagraphics products 

LlghtWINDOW/C/o/'Z?a/aAaA/£. 95 79 

FontWINDOW. 95 79 

FontWINDOW/PLUS. 275 229 

MetaWINDOW/l/o/?oyaZf/aa. 195 159 

MetaWINDOW/PLUS. 275 229 

TurboWINDOW/C for Turbo C . 95 79 

TurboWINDOW/Pascal/a/Ta/Aa/’aaaa/. 95 79 

micro focus products 

Micro Focus Level II COBOL w/Animator . 495 395 

Level II COBOL. 349 279 

Level II Animator. 195 155 

Micro Focus Level II COBOL/ET for UNIX. CALL CALL 

Micro Focus Personal COBOL. 149 119 

Micro Focus Professional COBOL. 2000 1595 

Micro Focus VS COBOL/XENIX . 1495 1195 



































































































































































































































































































Micro Focus Support Products: 

COBOL/IQ Ad hoc Report Writer . 495 395 

COBOL/IQ for DOS 3.X Networks . 995 795 

FORMS-2 . 295 235 

SOURCEWRITER. 995 795 

microport products 

System V/386 Combination. New 799 699 

386 Runtime System. New 199 169 

386 Software Development System. New 499 429 

Text Preparation System. New 199 169 

386 Unlimited License Kit. New 249 209 

Run DOS and UNIX together . New CALL CALL 

System V/AT Combination. 549 465 

AT Runtime System. 199 169 

AT Software Development System. 249 209 

Text Preparation System. 199 169 

AT Unlimited License Kit. 249 209 

D0SMerge286 Run DOS and UNIX together . New 149 129 

microsoft products 

Microsoft BASIC Compiler for XENIX . 695 419 

Microsoft BASIC Interpreter/or/fMY. 350 209 

Microsoft C Compiler w/CodeView . New Version 450 269 

Microsoft COBOL Compiler Toofe. 700 429 

for XENIX . 995 609 

Microsoft FORTRAN Optimizing Compiler/CodeView... 450 269 

Microsoft FORTRAN/or/f/lWr. 695 419 

Microsoft Learning DOS . 50 36 

Microsoft LISP Common USP . 250 149 

Microsoft MACH 10 with Mouse & Windows . 549 369 

Microsoft MACH 10 Board only . 399 279 

Microsoft Macro Assembler. New Version 150 93 

Microsoft Mouse/or/BAf ^5/2. New 175 114 

Microsoft Mouse Bus Version . 175 114 

Microsoft Mouse Soz/o/l/ors/oo. 195 124 

Microsoft muMath Includes muSIMP . 300 179 

Microsoft Pascal Compiler. 300 179 

for XENIX . 695 419 

Microsoft QuickBASIC. S20 Rebate Offer 99 63 

Microsoft QuickC. New 99 63 

Microsoft Sort. 195 125 

Microsoft Windows. 99 63 

Microsoft Windows Development Kit. 500 299 

Microsoft Word. 450 269 

modula-S language 

IXUIMMASM Interface by PM! . New 49 45 

tiiacfol Macro preprocessor by PMI . New 89 79 

ModBase by PMI . New 89 79 

MODULA-2 Apprentice Pkg by LOGITECH. 99 79 

MODULA-2 Magic Pkg by LOGITECH. 99 79 

MODULA-2 ROM Pkg & Cross RT Debugger. 299 239 

MODULA-2 Window Pkg by LOGITECH. 49 39 

MODULA-2 Wizard's Pkg by LOGITECH. 199 159 

Repertoire A//W. 89 75 

mouse products 

LOGIMOUSE BUS with PLUS Pkg by LOGITECH . 119 98 

with PLUS & PC Paintbrush . 149 119 

with PLUS & CAD Software .. 189 153 

with PLUS & CAD & Paint . 219 179 

LOGIMOUSE C7 with PLUS Pkg, Specify Connector.... 119 98 

with PLUS & PC Paintbrush . 149 119 

with PLUS & CAD Software . 189 153 

with PLUS & CAD & Paint ... 219 179 

Microsoft Mouse See Microsoft Section 

Other languages 

by Whitewater Group . New 495 419 

Single-User by MGIobal . 60 50 

ZZSWkfAPZ Single-User Multi-Tasking . 150 129 

CCS MUMPS Multi-User . 450 359 

Marshal Pascal by Marshal Language Systems . 189 165 

Pascal-2 by Oregon Software . 395 325 

by Mansfield Software . 125 99 

SN0B0L4+ by Catspaw . 95 80 

Other products 

Zai\iW[Zo^>l by Meridian Technology . New 195 179 

Dan Bricklin's Demo Pgm Ay5o/fware ffarr/ez?. 75 57 

Dan Bricklin's Demo Tutorial. 50 45 

Fast Forward by Mark Williams . New 70 59 

First Publisher with Mouse from Logitech . New CALL CALL 

\xAmmx AH Varieties by Informix . CALL CALL 

Instant Replay by Nostradamus . 150 CALL 

Paul Mace Software . New 99 89 

MKS Toolkit w/vi Editor by MKS . New Version 139 114 

MicroTEX Typesetting from Addison Wesley . 295 CALL 

by BC Associates . 149 129 

0 PT-Tech Sort A/ Opt-Tech Data Proc . 149 99 

PC/TOOLS by Custom Software . 49 45 

Screen Machine Ay Af/iE:/io//e//7 . 79 59 

phoenix products 

Pasm86 Macro Assembler version 2.0 . 195 108 

Pdisk Hard Disk & Backup Utility . 145 99 

Pfantasy Pac Phoenix Combo . 995 595 

PMsh Execution Profiler . 395 209 

P6x86plus Symbolic Debugger . 395 209 

PforCe Specify C Compiler . 395 209 

P\MZe^+Specify C Compiler and C-^-^ . 395 209 

?y\x\]xZZ\\\x% Overlay Linker . 495 275 

PmaVex Make Utility . 125 78 

?ma\e Macro Text Editor . 195 108 

?xe-Z Lint Utility . 295 154 

?\e\ Binary File Transfer Program . 195 108 

polytron products 

PolyBoost The Software Accelerator . 80 64 

PolyOesklll. 99 72 

PolyOesk III Archivist . 50 42 

PolyOesk III Cryptographer. 50 42 

PolyOesk III Talk. 70 52 


?QViU\i\amn Library Manager . 99 89 

?oViU\ixzx\an\\ Library Manager . 149 129 

PolyMake UNIX-like Make Facility . 149 129 

PolyShell. 149 129 

Polytron C Beautifier. 50 45 

?a\i)kPLU-Complete Cross Ref Utility . 219 185 

PolyXREF One language only . 129 109 

P^ZZZQX^waXe Version Control System . 395 329 

PVCS Personal. 149 129 

program mgmt utilities 

Interactive EASYFLOW Ay. 150 125 

PrintQ by Software Directions . 89 84 

Quilt Computing Combo Package. 250 199 

QMake Program Rebuild Utility . 99 79 

ZWAZ Software Revision Mgmt System . 185 159 

Source Print Ay A/r/eAaza/7 ZaAs. 97 75 

TWZ Version Control System by Burton . 100 89 

Tree Diagrammer Ay>4A/aAa/a/7ZaAs . 77 67 

raima products 

Single-User Query Utility . 195 129 

Single-User with Source Code . 495 389 

Multi-User . 495 389 

Multi-User with Source Code . 990 699 

dbVISTA Single-User DBMS . 195 129 

Single-User with Source Code . 495 389 

Multi-User . 495 389 

Multi-User with Source Code . 990 699 

SCO products 

Complete XENIX System by SCO . 1295 994 

Development System. 595 499 

Operating System 5'/;acZ^>i7‘o/-/IT". 595 499 

Text Processing Package. 195 144 

I'lx’ytbySCO . 595 449 

SCO Professional 1-2-3 Workalike for XENIX . 795 595 

SCO XENIX-NET. 595 495 

softcraft products 

Btrieve ISAM Mgr with No Royalties . 245 184 

YAx'me Query Utility . 245 184 

Report Option/or A'fr/ei'a. 145 99 

'BXxme/H for Networks . 595 454 

Xtrieve/N. 595 454 

Report Option/N/orA'Z//etza//Y. 345 269 

text editors 

Brief & dBrief Combo Z/o/w 5o/oZ/oo SysZe/ns. 275 CALL 

Brief. 195 CALL 

dBrief Customizes Brief for dBASE III . 95 CALL 

Epsilon Emacs-like editor by Lugaru . 195 147 

KEDIT Ay Mansfield Software . 125 98 

Micro/SPF by Phaser Systems . 175 139 

Microsoft Word. 450 269 

PC/VI Ay Custom Software Systems . 149 105 

/PZ by Command Technology Corp . CALL CALL 

Vedit Plus Ay CompuView . 185 128 

turbo pascal utilities 

MAZE Interpreter by Software Channels . 95 66 

DOS/BIOS 8t Mouse Tools Ay Quinn-Curtis . 75 67 

Flash-up Windows Ay Software Bottling . 90 78 

MACH 2 for Turbo Pascal by Micro Help . 69 55 

MetraByte D/A Tools Ay Quinn-Curtis . 100 89 

Science 8i Engrg Tools by Quinn-Curtis . 75 67 

Screen Sculptor Ay Software Bottling . . 125 91 

Speed Screen by Software Bottling . 35 32 

System Builder by Royal American . 150 129 

IMPEXZ?oo/yZ/Z/7/7y. 100 89 

Report Builder. 130 115 

byTurboPowerSoRware . 60 49 

TxnaxV. by Tangent Systems . New 80 69 

luxbolXimZlP by TurboPower Software . 85 64 

Turbo OPTIMIZER Ay TurboPower . 75 65 

Itixho OPimiKP with Source Code . 125 108 

Turbo Professional Ay 5u/7/7y///7/. 70 45 

luxhxi.fXSn by BC Associates . New 100 89 

TurboHALO/ra/w/yif5/. 129 98 

TurboPower Utilities Ay TA/Ao/’owe/'. 95 78 

luxhoPei by Gracon Services . 50 45 

JUPBOsxxttih Source Debugger by Visual Age . 69 59 

Universal Graphics Library Ay Quinn-Curtis . 150 119 

wendin products 

Operating System Toolbox. 99 79 

PCNX Qperating system . 99 79 

PZmS Similar to VAX/VMS . 99 79 

Multitasking DQS . New 99 85 

TLIZ Text Editor w/Pascal source . 99 75 

xenix/unix products 

Btrieve ISAM File Mgr by SoftCraft . 595 454 

C-terp by GimpeL Specify compiler . 498 379 

x:-\xee ISAM Mgr by FairCom . 395 329 

dBx with Library Source by Desktop A! . 550 469 

Besxynew from Quarterdeck . New 100 85 

DOSIX Console Version by Data Basics . 399 349 

DOSIX User Version by Data Basics . 199 179 

Ixiioxxxiix AH Varieties by Informix . CALL CALL 

Micro Focus Products See Micro Focus Section 
Microport Products See Microport Section 
Microsoft Products See Microsoft Section 

PMiP.\.P\\xs by RoundhiH Computer Systems . 795 535 

REAL-TOOLS Binary Version byPCT . 149 89 

Library Source Version . 399 289 

Complete Source Version . 999 729 

m/ZZBZl by Ryan-McFarland . 1250 CALL 

m/PZBTBMi by Ryan-McFarland . 750 CALL 

SCO Products See SCD Section 


Call or write for our FREE comprehensive price guide. 
©Copyright 1987 Programmer's Connection Incorporated. 


LOWEST PRICES 

Due to printing lead times, some of our current 
prices may differ from those shown here. Call for 
latest pricing. 

FREE SHIPPING 

Orders within the USA (including Alaska & Hawaii) 
are shipped FREE via UPS. Express shipping is 
available at the shipping carrier's standard rate 
with no rush fees or handling charges. To avoid 
delays when ordering by mail, please call first to 
determine the exact cost of express shipping. 
CREDIT CARDS 

VISA and MasterCard are accepted at no extra 
cost. Your card is charged when your order is 
shipped. Mail orders please include credit card 
expiration date and authorized signature. 

CODs AND POs 

CODs and Purchase Orders are accepted at no 
extra cost. No personal checks are accepted on 
COD orders. POs with net 30-day terms (with initial 
minimum order of $ 100) are available to qualified 
US accounts only. 

SALES TAX 

Orders outside of Ohio are not charged state sales 
tax. Ohio customers please add 6% Ohio tax or 
provide proof of tax-exemption. 

INTERNATIONAL ORDERS 
Shipping charges for International and Canadian 
orders are based on the shipping carrier's standard 
rate. Since rates vary between carriers, please call 
or write for the exact cost. International orders 
(except Canada), please include an additional $10 
for export preparation. All payments must be made 
with US funds drawn on a US bank. Please include 
your telephone number when ordering 
Due to government regulations, we cannot ship to 
all countries. 

VOLUME ORDERS 

Volume orders may qualify for additional discounts. 
Call us for special pricing. 

SOUND ADVICE 

Our knowledgeable technical staff can answer 
technical questions, assist in comparing products 
and send you detailed product information tailored 
to your needs. 

30-DAY GUARANTEE 

Most of our products (excluding books) come with 
a 30-day documentation evaluation period or a 
30-day return guarantee. Please note that some 
manufacturers restrict us from offering guarantees 
on their products. Call for more information. 
MAILORDERS 

Please include your telephone number on all mail 
orders. Be sure to specify computer, operating 
system and any applicable compiler or hardware 
interface(s). Send mail orders to: 

Programmer's Connection 
Order Processing Department 
136 Sunnyside Street 
Hartville, OH 44632 


USA . 800-336-1166 

CANADA . 800-225-1166 

OHIO & ALASKA (Collect) 216-877-3781 

TELEX. 9102406879 

EASYLINK . 62806530 

INTERNATIONAL . 216-877-3781 

CUSTOMER SERVICE .... 216-877-1110 


INTERNATIONAL . 216-877-3781 

CUSTOMER SERVICE .... 216-877-1110 

Hours: Weekdays 8:30 AM to 8:00 PM EST. 



CIRCLE NO. 175 ON READER SERVICE CARD 



































































































































































































1972. Moonlighting 
programmer deprograms company’s 
production records. Files 
saved on 3M data cartridge tape. 


1973. Fastidious 
janitor turns off IBM* 370. 
Files saved on 3M data 
cartridge tape. 


1978. Colorado electric 
storm jolts Wangsf 
Files saved on 3M data 
cartridge tape. 


1979. Little Stevie Fong 
flips floppies out 

father’s office window. Files saved 
on 3M data cartridge tape. 


1980.'femporaiy help 
permanently dumps accounting 
records on Apple 111. Files 
saved on 3M data cartridge tape. 


1984 Hard disk fails 
in soft market: brokers panic. 
Files saved on 3M data 
cartridge tape. 


1985. Sal’s Diner. 
Dropped eggs scramble Macs. 
Files saved on 3M data 
cartridge tape. 


1987. Delivery boy delivers 
IBM PS/^™ swiftly and 
abruptly to the sidewalk. Files saved 
on 3M data cartridge tape. 





1976. Unnamed computer 
does the unmentionable. 
Files saved on 3IV1 data 
cartridge tape. 


1981. Circuit breaker 1982. Head crash 1983.Thief sneaks 

flips, floppies flop. proves fatal to Lisa.™ Files away with Osbornes: Files 

Files saved on 3M data saved on 3M data saved on 3M data 

cartridge tape. cartridge tape. cartridge tape. 



1990. Somewhere, 
somehow, on some computer, data 
will crash. Files will be 
saved on 3IV1 data cartridge tape. 


Computers come, and computers go. 

But when they go out abruptly, you’ve always been 
able to rely on 3M data cartridge tape for backup. 

In fact, 80% of the people who back up on data 
cartridge tape back up on 3M. 

Why? 

We’ve been covering computer and human errors 
almost longer than computers and humans have erred 
together. 

Not only did we invent and patent data cartridges, 
we’ve continually patented the innovations that make 
data cartridge backup the best way to back up data. 

Which is something that’s never changed. 

n /mr\r\\ '^r\nr\r 1 1 


Call (800) 423-3280 for a brochure. 

Trademarks/owner: DEC/Digital Equipment Corporation; IBM, Personal System/2/International Business 
Machines Corp.; HP/Hewlett-Packard; Apple, Lisa/Apple Computer Inc.; Wang/Wang Laboratories; 
Osbome/Novell, Inc.; Mac/Macintosh Laboratory, Inc. 


’■•'True to life stories. 


CIRCLE NO. 164 ON READER SERVICE CARD 


©3M 1987 


3M 





when John Middleton’s 1-2-3 Sohegotthebestof both 

applications got to be more than worlds. With the Intel Inboard386, 
his IBM PC Ar®could handle, he he got the full power of a386 system, 

had two choices. Without compromising one bit 

Spend $6000 for a new386 on performance or compatibility 

system. Then,with the leftover $4000, 

Or spend $2000 for an Intel® he spent two glorious weeks on 

Inboard 386 system. the island of Bora Bora. 












multitasking. And lots of developers 
are already using Inboard to create 
OS/2®applications. 

But maybe the real question is 
can a $2000 system be more 

reliable than a $6000 
onePThe answer is yes. 
Because it’s built by the 
same company that 
designed the 80386 
: microprocessor and 

it’sbackedbyafive- 

more information 

is best, call us at 
(800) 538-3373. Or contact 
your local dealer. 

Then we suggestyou find a nice 
quiet place, clear your mind of 
all distractions, and think it over. 

Maybe a nice quiet place like 
Bora Bora. 


How can we give you so much 
for so much less? Simple. If you 
have an IBM PC AT or compatible, 
you already own % of a386 system. 
And when you install an Inboard 
386,you get the rest of it. 

Besides price, how 
do they compare? - T ' 

According to a recent ^ 

/nfouvr/ci product fe 

reviev^ “Inboard has 
the best computing 
speed of all micro 
systemswe have tested 
to date,” including all 
other 386 systems. 

The reason Inboard is so 
fast is because of its zero wait 
state cache and 32 bit memory 
And there’s also a special socket 
for adding the 80387-16 math 
coprocessor giving you even 
greater performance. 

Software compatibility is unsur- 


cc 



passed as well. 

According toFCV^ek, 

The Inboard386 proved 
perfectly compatible 
with a standard IBM 
PC AT and every software product 
we tested.” It’s compatible with 
advanced software, too, including 


the new386 control softrare for 


©1987 Intel Corporation 

Thidemarks/owner: IBM PC AT, OS/2/International Business Machines Corporation; Intel/Intel Corporation. 
CIRCLE NO. 187 ON READER SERVICE CARD 


helps save time, money and cut fmstrations. Compare, evaluate, and find products. 


RECENT DISCOVERY 


RTC PLUS by Cobalt Blue. Translate 
FORTRAN 77 and RATFOR to C except 
F77 I/O, FORTRAN character, and 
complex expressions. Some DEC F77 
extensions. Library C Source. MS $ 279 


Al-Expert System Dev’t 


Arity Combination Package 

PC 

$ 

979 

System - use with C 

MS 

$ 

229 

SQL Dev’t Package 

MS 

$ 

229 

Auto-Intelligence 

PC 

$ 

739 

CxPERT - shell for C 

MS 

$ 

295 

Experteach - Powerful, samples 

PC 

$ 

339 

Exsys 

PC 

$ 

309 

Runtime System 

PC 

$ 

469 

Insight 2 + 

MS 

$ 

379 

Intelligence/Compiler 

PC 

$ 

739 

T.L: fc Easy 

PC 

$ 

435 

Personal Consultant Plus 

PC 

$2589 

Personal Consultant Runtime 

PC 

$ 

85 

Turbo Expert-Startup(400 rules) 

PC 

$ 

129 

Corporate (4000 rules) PC 

$ 

359 


Al-Lisp 


Microsoft MuLisp 85 MS $ 159 

PC Scheme LISP - by TI PC $ 85 
Star Sapphire MS $ 459 

TransLISP - learn fast MS $ 79 

TransLISPPLUS 

Optional Unlimited Runtime $ 139 

PLUSforMSDOS $169 


Others: IQ LISP ($239), IQC LISP ($269) 


Al-Prolog 


APT - Active Prolog Tutor - build 


applications interactively 

PC 

$ 

49 

ARITY Prolog - full, 4 Meg 




Interpreter - debug, C, ASM 

PC 

$ 

229 

COMPILER/Interpreter-EXE 

PC 

$ 

569 

Standard Prolog 

MS 

$ 

77 

MacProIog Complete MAC 

$ 

269 

MicroProlog - Prof. Entry Level 

MS 

$ 

85 

MicroProlog Prof. Comp./Interp. 

MS 

$ 

439 

MPROLOG P550 

PC 

$ 

175 

Prolog-86 - Learn Fast 

MS 

$ 

89 

Prolog-86 Plus - Develop 

MS 

$ 

199 

TURBO PROLOG by Borland 

PC 

s 

69 

1 Basic 1 

BAS_C - economy 

MS 

$ 

179 

BAS_PAS - economy 

MS 

$ 

135 

Basic Development System 

PC 

$ 

105 

Basic Development Tools 

PC 

$ 

89 

Basic Windows by Syscom 

PC 

$ 

95 

BetterBASIC 

PC 

$ 

129 

Exim Toolkit - full 

PC 

$ 

45 

Finally - by Komputerwerks 

PC 

$ 

85 

Mach 2 by MicroHelp 

PC 

$ 

55 

QBase - by Crescent Software 

MS 

$ 

89 

QuickBASIC 

PC 

$ 

69 

Quick Pak-by Crescent Software 

PC 

$ 

59 

Stay-Res . 

PC 

$ 

59 

Turbo BASIC - by Borland 

PC 

$ 

69 


FEATURE 


TP2C - Translate Turbo Pascal 
to formatted K & R C (proposed ANSI 
85 standard). Include files, in-line 
code, nested procedures. 95 + % 
successful conversion. PC $ 219 


Free Literature 
Compare Products 

Evaluate products. Compare competitors. Learn about new 
alternatives . One free call brings information on just about 
any programming need. Ask for any ‘‘Packer or Addon 
Packet □ AI □ ADA, Modula □ BASIC □ “C" □ COBOL □ 
Editors □ FORTH □ FORTRAN □ PASCAL □ UNIX/PC or 
□ Debuggers, Linkers. 

Our Services: 

• Programmer’s Referral List • Dealers Inquire 

• Compare Products • Newsletter 

• Help find a Publisher • Rush Order 

• Evabation Literature FREE • Over 700 products 

• BBS*7PMto7AM617*740-2611 • National Accounts Center 


C Language-Compilers 


AZTEC C86 - Commercial PC 

C86 PLUS - by Cl MS 

Datalight C - fast compile, good code, 
4 models. Lattice compatible. Lib 
source. Dev’rs Kit PC 

Datalight Optimum - C MS 

with Light Tools by Blaise PC 

Lattice C - from Lattice MS 

Let’s C Combo Pack PC 

Let’s C PC 

Microsoft C 4.0- Codeview MS 

Rex - C/86 by Systems & 

Software - standalone ROM MS 

Turbo C by Borland PC 

Uni ware 68000/10/20 Cross 
Compiler MS 


C Libraries-Files 


C Index by Trio/PLUS MS $319 

BTree by Soft Focus MS $ 69 

CBTREE-Source, no royalties MS $ 99 
CTree by Faircom - no royalties MS $315 
rtree - report generation PC $239 

dbQUERY-ad hoc, SQL-based MS $129 
dbVISTA - pointers, network. 

Object only - MSC, LAT, C86 $129 

Source - Single user MS $389 

dBx - translator to library MS $299 


C-Screens, Windows, Graphics 


C-Scape - capture Dan Bricklin PC $179 
Curses by Aspen Scientific PC $109 
dBASE Graphics for C PC $ 69 

ESSENTIAL GRAPHICS - fast PC $185 
Graphic - new color version PC $285 
Greenleaf Data Windows PC $159 

w/source PC $289 

Light WINEX)WS/C-for Datalight CPC $ 79 
Windows for C - fast PC $189 

Windows for Data - validation PC $319 
Vitamin C - screen I/O PC $159 

View Manager - by Blaise PC $179 
ZView - screen generator MS $139 


Atari ST & Amiga 


We carry full lines of Manx & Lattice. 


Call for a catalog, literature and solid value 

800 - 421-8006 


THE IMUHillANMER’S Sll»l» 

Your complete source for software, services and answers 


5-P Pond Park Road, Hingham, MA 02043 
Mass: 800442-8070 or 617-740-2510 


$499 

$359 


$ 77 
$ 99 
$168 
$269 
$ 99 
$ 59 
$275 

$695 
$ 69 

Call 


RECENT DISCOVERY 


dB2C Toolkit V 2.0 by Software 
Connection. 220 + dBIII functions in 
C source, file handler, windowing, 

i n terface to db_VI ST A, c-tree, 

dBC III, MS, Lattice, InstantC. 

No Royalties MS $ 289 


dBASE Language 


Clipper compiler PC Call 

dBASE II MS $329 

dBase III Plus PC $429 

dBASE III LANPack PC $649 

DBXL Interpreter by Word Tech PC $139 

FoxBASE+ - single user MS $349 

Quick Silver by Word Tech PC $439 


dBASE Support 


dBase Tools for C PC $ 65 

dBrief with Brief PC Call 

DBC ISAM by Lattice MS Call 

dFlow - flowchart, xref MS Call 

Documentor - dFlow superset MS Call 
Genifer by Bytel-code generator MS $299 
QuickCode III Plus MS $239 

Tom Rettig’s Library PC $ 89 

UI Programmer-user interfaces PC $249 


Fortran & Supporting 


50:More FORTRAN PC $ 95 

Forlib+ by Alpha MS $ 59 

I/O Pro - screen development PC $129 

MS Fortran - 4.0, full ’77 MS $279 

No Limit - Fortran Scientific PC $109 

PC-Fortran Tools - xref, pprint PC $165 
RM/Fortran MS Call 

Scientific Subroutines - Matrix MS $129 


Multilanguage Support 


BTRIEVE ISAM MS $185 

BTRIEVE/N-multiuser MS $455 

Flash-Up Windows PC $ 79 

GSS Graphics Dev’t Toolkit PC $375 
HALO Development Package MS $389 
HALO Graphics PS $209 

Informix 4GL-application builder PC $789 
Infoiinix SQL - ANSI standard PC $639 
NET-TOOLS - NET-BIOS PC $129 
Opt Tech Sort - sort, merge MS $ 99 
PANEL MS $215 

Pfinish - by Phoenix MS $229 

Poly boost - speed I/O, keyboard PC $ 69 
Prime Factor FFT - 8087/287 PC $145 
PVCS Corporate-source control MS $309 
PVCS Personal MS $109 

QMake by Quilt co. MS $ 79 

Report Option - for Xtrieve MS $109 
Screen Machine PC $ 59 

Screen Sculptor PC $ 95 

SRMS - new version MS $159 

Synergy - create user interfaces MS $375 
VXM - multi-env. link MS $195 

Xtrieve - organize database MS $199 
ZAP Communications - VT 100 PC $ 89 


FEATURE 


C Worthy Interface Library - Complete, 
tested human interface for MS C, Lattice 
or Turbo C. Full screens, Windows, DOS, 
Error handling, Menus, Messages. 

Source separate, no royalties. PC $249 


Note: All prices subject to change without notice. Mention this ad. Some prices 
are specials. Ask about COD and POs. Formats: 3" laptop now available, plus 
200 others. UPS surface shipping add S3'item. 


CIRCLE NO. 162 ON READER SERVICE CARD 



















lECH 

GERRY KAPLAN 

NOTEBOOK 

Underline Fix for the EGA 

The underlining capability of the EGA can be restored in color 
. mode with this terminate-and-stay-resident program. 

80 


T ext-based applications are most often used on the IBM 
monochrome display. Users of word processors appreci¬ 
ate its sharp characters formed by a 9-by-l 4-pixel matrix, as 
well as its ability to display underlined and bolded text. An 
Enhanced Color Display connected to an EGA can provide 
virtually the same level of sharpness with an 8-by-l 4-pixel 
character cell, and it can do this in 16 colors. But on a color 
monitor, the EGA does not display underlined text. 

The EGA is capable of underlining, and it does so when 
connected to a monochrome monitor. The hardware is de¬ 
signed to produce underlining for characters with video at¬ 
tributes of 1 or 9 for the foreground and zero for the back¬ 
ground, provided that the contents of the Underline Location 
Register contains a value between 0 and 13. This value is the 
scan line on which the underline will appear; 13 provides 
normal underlining, while lower values move the line up¬ 
wards in the character cell to produce strike-over or over¬ 
line effects. The EGA BIOS enables underlining whenever 
the adapter is switched to video mode 7 (monochrome), and 
disables it for the color modes. 

It is easy to write a program to reenable underlining by 
setting the Underline Location Register; however, most soft¬ 
ware resets the video mode when it loads, thus nullifying 
any changes made to the EGA registers. The solution is to 
install a terminate-and-stay-resident (TSR) program that inter¬ 


USTINGl: UNDRLIN.ASM 

SCNLIN 

EQU 

13 

;Scan line for underline. 

COLOR1 

EQU 

0201H 

;Set color 1 to green 

C0L0R9 

EQU 

3A09H 

;Set color 9 to brite green 

CODESEG 

SEGMENT 

PARA PUBLIC 

•CODE* 


ASSUME 

CS:CODESEG, 

DS:COSESEG 


ORG 

100H 


ENTRY: 

JMP 

LOADER 

;Go to loader routine 

OLD10 

DD 

? 

/Storage for old INT 10H address 

INTHAND 

PROC 

FAR 

/Beginning of INTERRUPT Interceptor 


AND 

AH, AH 

/Is it Set Mode function? 


JZ 

CAL LB 

/If so, arrange to come back from BIOS 


JMP 

OLD 10 

/Else go to BIOS and do not come back 

CALLS: 

PUSHF 


/Push flags to simulate interrupt 


CALL 

OLD 10 

/Call BIOS and return 


PUSH 

AX 



PUSH 

DX 

/Save Registers 


PUSH 

DS 



MOV 

AX,40H 

/Set up addressability to BIOS DATA 


MOV 

DS,AX 



MOV 

DX,DS:63H 

/Get CRTC base address in DX 


MOV 

AL,014H 

/CRT Reg 14 is Underline Register 


OUT 

DX,AL 

/Indicate change to Reg 14 


INC 

DX 

/Now point DX to CRTC data register 


MOV 

AL,SCNLIN 

/Load AL with desired scan line 


OUT 

DX,AL 

/Send data to CRT controller 


MOV 

AX,1000H 

/Set a palette register 


MOV 

BX,COLORl 

/Set underline, color 1 


cepts all the video mode setting calls and applies the fix 
after the mode is changed. An example is reproduced in 
UNDEmdN.ASM (listing 1). 

The INTHAND procedure gains control on return from 
a mode-setting call (interrupt lOH, AH = 0). It enables the 
underline mode by writing the desired value (13 is used 
here) into the underline register. This register is loaded by 
writing its index (14H) to the EGA controller port, then writ¬ 
ing the data value to the port at the next higher address. 

The base controller port address is available at location 
40:63H of the BIOS data area. 

Thereafter, any text written in colors 1 or 9 will be un¬ 
derlined. Although the attributes that produce underlining 
are fixed, the colors that correspond to tliose attributes are 
not. Therefore, the underlined colors may be changed by 
writing appropriate color values to palette registers 1 and 9. 
In this example, colors 2 (green) and 3AH (bright green) 
are used. Blue will no longer be available; instead, green 
will be available in underlined and plain versions. The un¬ 
derline colors are controlled by the values equated to labels 
COLORl and COLOR9. If desired, code may be added to 
change the background to a color other than black by writ- 
ing a nonzero color value to palette register 0. 


Gmy Kaplan is a computet' consultant and software developer. 

INT 

10H 


MOV 

AX,1000H /Set 

a palette register 

MOV 

BX,C0L0R9 /Set 

brite underline, color 9 

INT 

10H 


POP 

DS 


POP 

DX /Restore Registers 

POP 

AX 


I RET 

/Return to original caller 

INTHAND ENDP 



MESSAGE DB 

'UNDERLIN: By Gerald S. Kaplan',0DH,0AH,'$' 

LOADER PROC 

NEAR 

/Loads the INT 10H TSR 

MOV 

AL,10H 

/Get vector for INT 10H 

MOV 

AH,35H 

/DOS function for get vector 

INT 

21H 


MOV 

WORD PTR OLD10,BX 

/Save the address 

MOV 

WORD PTR OLD10+2,ES 


MOV 

DX,OFFSET INTHAND 

/Point to new INT 10H handler 

MOV 

AH,25H 

/DOS call to set vector 

MOV 

AL,10H 

/Which interrupt to set 

INT 

21H 


MOV 

AX,0003H 

/Reset mode to turn on 

INT 

10H 

/ underlining 

MOV 

AH,9 

/DOS Print Message function 

MOV 

DX,OFFSET MESSAGE 

/Point DX to message 

INT 

21H 

/Go and print message 

INT 

27H 

/Exit and stay resident 

LOADER ENDP 


/(DX already points to 

CODESEG ENDS 


:end of resident mode) 

END 

ENTRY 



SEPTEMBER 1987 


49 





ILLUSTRATION • ANDY LEVINE 



T oday’s feature-laden programs 
require an increasing amount of 
source code. With available mem- 
or\^ no longer a problem for many mi¬ 
crocomputer systems, PC programs 
have expanded to rival some main¬ 
frame entries in both size and com¬ 
plexity. Add to this the dynamics of the 
software market, where maintaining an 
edge means development cycles are 
shortened and more coding is per¬ 
formed in parallel by several program¬ 
mers, and the fact that many programs 
are written to work on several different 
computer systems or different versions 
of an operating system. This state of af¬ 
fairs creates nightmares for many pro¬ 
grammers managing source code. 


50 



When a program is composed of 
dozens of modules, keeping track man¬ 
ually of which set of source code files 
is the correct one to use for a given 
version of the program is tedious at 
best. The rush of last-minute coding 
before a release may cause the current 
information not to be distributed to all 
members of the programming staff, and 
time is wasted or programs built incor¬ 
rectly are released. Considered here 
are six source code management sys¬ 
tems (SCMS)—automated tools for con¬ 
trolling source code and changes to 
source code modules: (iiie) by Burton 
Systems Sofrtv^are, bricks by Datalight, 
Source Code Interactive Librarian (scil) 
by H & S Associates, Corporate (pvcs) 


JIM VALLINO 








As programs expand 
to incorporate more 
intricate features, 
the complexity of the 
development process 
grows at an even 
faster pace. These six 
software products 
keep tabs on that 
growth for teams 
of programmers. 













CODE MODULES 

by Polytron Corporation, (srms) by 
Quilt Computing, and (svm) by Seidl 
Computer Engineering. 

Tools such as these, that handle 
tasks normally performed by members 
of a software development team, aid in 
completing projects within tight time 
constraints. Such programs are classi¬ 
fied as computer-assisted software engi¬ 
neering (CASE) tools. Currendy, a great 
deal of development work is going on 
with CASE tools in areas such as auto¬ 
matic program generation and auto¬ 
mated program verification and valida¬ 
tion. Although generally still in the re¬ 
search phases, some CASE tools avail¬ 
able for many years to software devel¬ 
opment teams on mainframes and min¬ 
icomputers are also available on per¬ 
sonal systems running the DOS. 

A more correct name for these 
tools is ASCII text file management sys¬ 
tem. Any type of ASCII file can be 
placed under the control of an SCMS. 
This could include program design 
documents, user manuals, project 
schedules, and so on. It is as important 
to control changes to these vital pieces 
of information as it is to control a proj¬ 
ect’s source code. A few of the prob¬ 
lems that can be alleviated by source 
code management are: 

• A programmer makes modifications 
to a module not knowing that con¬ 
flicting changes may be made simul¬ 
taneously by someone else. 

• Changes are made to a module that 
are not correa and the original revi¬ 
sion must be recovered. 

• In order to respond to a problem 
report from the field, a specific prior 
program release must be generated. 

• A problem is discovered that was not 
present in a previous release of a 
program. The development staff 
wants to know what changes were 
made between the two releases. 

A manual record-keeping system 
could be used to track much of the in¬ 
formation necessary to eliminate these 
problems. For example, to eliminate 
simultaneous updates to a module, 
every time a programmer wished to 
modify a source code module, a log 
would need to be checked to verify 
that no one else “ovmed” the module. 
If no one did, the programmer would 
claim ownership of the module, alert¬ 
ing other team members that changes 
are being made to the module. Follow¬ 
ing a stria discipline of making backup 
copies of modules throughout develop¬ 
ment might provide access to all previ¬ 
ous revisions of a module. However, it 
is frequendy the case that manual tech¬ 
niques such as these break down be¬ 


cause programmers find them tedious 
and eventually do not adhere to them. 

In addition, the manual method of 
making a backup copy of the source 
file every time modifications are made 
to create a new revision has two imme¬ 
diate problems. The first is generating 
file names so that the different revi¬ 
sions can be identified. Some operating 
systems have this feature built-in with a 
revision number as a standard part of 
the file name. As this is not available in 
DOS, a different file-naming convention 
is needed that includes a revision iden¬ 
tification. The second, and larger, prob¬ 
lem with this technique for source 
code management is disk space. In 

A. source code manage¬ 
ment system controls the 
storage and generation of 
multiple revisions of a 
source code module. 


many instances, the difference between 
two revisions of a source file amounts 
to a small percentage of the total size. 
Disk space is wasted storing the entire 
new file because much is duplicated 
from the previous revision. The 
changes between two revisions is the 
part necessary to be kept to generate 
the new revision from the previous 
one. These differences between two 
revisions of a file are collectively called 
a delta —this is the basic concept in 
source code management. 

KEEPING TRACK OF REVISIONS 

The primary features of an SCMS are to 
control the storage of multiple revi¬ 
sions of a source code module and to 
provide a mechanism for generating 
any requested revision on demand. A 
development staff relieved of these 
burdens has more time to devote to 
design and coding, and is thereby able 
to increase its productivity. 

SCMSs can be thought of as data¬ 
bases for program code in that they 
control access to files that hold the 
source code for a projea. Without an 
SCMS, a programmer can obtain a 
module by making a copy of it, per¬ 
haps from a direaory on one central 
computer that is being used by all 
members of the project. With an SCMS, 
programs provided by the system are 
used to generate a working copy of the 


requested source code. When modifica¬ 
tions to a module must be made avail¬ 
able to others on the project, SCMS 
programs again are used to incorporate 
the changes into the library archive file 
that holds information about all revi¬ 
sions of the module. 

To compact storage, an SCMS 
stores changes to a source file in terms 
of deltas. The information common to 
two revisions is not duplicated. Each 
delta represents only the differences 
between two revisions of a file. For a 
given set of differences, the amount of 
information that must be saved to de¬ 
fine fiilly all of these changes is deter¬ 
mined by the sophistication of the delta 
detection algorithm. Most algorithms 
work with a resolution of a line. If any 
charaaer changes within a line, the 
delta has an indication that, for the 
new revision, this line changed. The 
old line is marked as deleted and a 
copy of the new line is inserted into 
the SCMS file and marked to be active 
with this new revision. A simple exam¬ 
ple is given in figure 1 (a forward 
delta, explained below). 

The better algorithms also can de¬ 
tea blocks of lines that are moved, de¬ 
leted, or copied within a file. The goal 
is to store in the SCMS file the least 
amount of information necessary to 
define fully the delta. This process in¬ 
volves a trade-off, however, between 
reducing storage for the delta and ad¬ 
ditional time required to execute a 
complex delta detection algorithm. To 
further reduce storage space, the SCMS 
could perform a data-compaction algo¬ 
rithm on the information to be stored. 
Here again, the trade-off is between 
less storage and longer times required 
to insert or extract revisions of a file. 

Delta generation can move in for¬ 
ward or reverse direction. Forward del¬ 
tas begin with a full copy of the origi¬ 
nal file and each delta details what 
must be done in order to create the 
next revision. When the SCMS is asked 
to generate a given revision of a file, it 
starts with the original file contents and 
applies deltas one at a time until the 
revision desired is generated. Forward 
deltas carry the disadvantage that they 
take longer to generate more recent 
revisions, which usually are requested 
more often, because all deltas from the 
very first one must be applied to the 
file. It is usually the case that forward 
deltas are requested more often. 

Reverse deltas work in the oppo¬ 
site direction. A full copy of the latest 
revision is maintained in the SCMS file 
and each delta represents changes for 
generating the previous revision of the 


52 


PC TECH JOURNAL 




To be able to recreate either the base or the second revision, a source code man¬ 
agement system (SCMS) must store only the base revision and the delta informa¬ 
tion. This requires less storage than would storing full copies of each revision. 


source file. With this technique, creat¬ 
ing the latest revision of a file is rela¬ 
tively quick and generating older revi¬ 
sions takes longer periods of time. 

The process of retrieving a revi¬ 
sion of a file is usually referred to as a 
get or checkout of the file. The SCMS 
generates a working copy of the de¬ 
sired revision from its archive files by 
applying the appropriate deltas to the 
base file. When the SCMS goes about 
the process of saving modifications to 
the file, differences between the modi¬ 
fied file and the revision upon which it 
is based are detected and used to 
create the delta information. This oper¬ 
ation is commonly called a put, delta, 
or check-in of the file. 

Each revision of a file must have a 
unique identifier. One common 
method for assigning revision numbers 
is in the form RM.Rm. RM and Rm are 
numbers representing the major and 
minor revisions of a file respectively. 
The initial check-in of a file under a 
SCMS creates revision 1.0. Each subse¬ 
quent get/put cycle will cause an incre¬ 
ment to the minor revision number as 
the normal sequence. This would make 
the second revision 1.1. An example of 


a typical cycle of revisions for a file is 
shown in figure 2. When a major 
change occurs in a system, such as re¬ 
lease of the product and beginning 
work on the next release, the SCMS is 
instructed to increment to the next 
major revision and reset the minor re¬ 
vision to 0. As would be expected, after 
the first major change of this type, files 
would be on revision 2.0. 

This path of development, which is 
straight along the central line of 
major/minor revision numbers, is re¬ 
ferred to as the trunk of the file. It is 
sometimes necessary to create parallel 
development paths for a single module. 
In the figure 2 example, this occurs 
with revision 1.1 and 1.2. The revisions 
of the file that diverge from the trunk 
are called branches. A branch might 
represent a path of development for a 
particular operating environment or 
customization provided for one client. 

Branches generally are identified 
by adding a branch major and minor 
revision number to the trunk revision 
from which they diverge from. In the 
example, revision 1.2.1.1 is the first 
revision of a branch from the trunk 
revision 1.2. From this point new revi¬ 


sions on the branch increment the 
branch minor revision number. The 
example revision tree also shows a sit¬ 
uation where a branch from revision 
1.2 is merged back into the trunk at 
revision 3.0. Some SCMSs can perform 
these merges and generate error mes¬ 
sages if a conflict occurs during the 
merge. A merge of this sort might be 
performed if the branch represented 
some customization for a particular cli¬ 
ent that now will be incorporated into 
the mainstream product. 

GETS, PUTS, AND LOCKS 

When a revision of a file is needed, a 
get request is issued to the SCMS. All 
SCMS archive files for a given project 
are maintained in a single place, usu¬ 
ally a directory on a file server. The 
exact structure of the files kept by die 
SCMS vary from one system to another. 
A system might place all information 
for a source file it manages into one 
file under its control. Another system 
uses several files and/or directories to 
maintain the information. (When back¬ 
ing up files a system that uses a single 
file for all information might be con¬ 
sidered to have a slight edge since only 
one file needs to be saved). Systems 
that require a specific directory struc¬ 
ture are a bit more difficult to use than 
those in which archive files can be in 
any directory. This is particularly true if 
source files are used in several proj¬ 
ects, each of which is developed in a 
separate directory. To prevent acciden¬ 
tal deletion, it is best if the SCMS can 
set the DOS read-only file attribute on 
all of these files. 

Performing a get without specify¬ 
ing an explicit revision number usually 
defaults to the latest revision on the 
trunk. The latest revision on the main 
trunk or a branch is referred to as the 
tip revision. If a revision is specified, 
then the SCMS will generate that spe¬ 
cific revision number. The result of the 
get is a working copy of the source file 
as it existed when it was checked in to 
create the revision requested. This re¬ 
trieved working copy might represent 
how the file looked yesterday after¬ 
noon or six months ago. The SCMS 
maintains all intervening revisions of 
the program and sorts out changes. 

The SCMS get provides a mecha¬ 
nism for one programmer to check out 
a revision of a file for editing. This 
places a lock on the revision and pre¬ 
vents two programmers from simulta¬ 
neously making changes to the same 
revision of a file. Anyone else who at¬ 
tempts to check out that revision for 
modification would be alerted that the 


SEPTEMBER 1987 


53 












800MB (PC-800) 
12995* 


160 MB (Ar-160) 
11995* 


120 MB (Ar-120) 
$1795* 


with DOS, Novell™ and 
Xenix™ 

What’s more, they’re 
built around reliable, 
field-proven Maxtor 
drives and our own 
industry standard 
SpeedStor integration software. 

And with these prices, you really 
7 can’t afford to let low-capacity 
storage limit either your system 
or your application. 

So don’t build a system that ain’t 
as much as it could be; call us 
today. 408/395-2688. 


Not anymore, it ain’t. 

After all, when 
you’re putting together 
PC-AT systems for 
today’s advanced 
applications, even 
120 MB of storage may 
not be anywhere near enough. 

So now you can get that much 
storage and more. From our family of 
SpeedStor™ 70 MB to 320 MB hard 
disk subsystems and 800 MB optical ^ 
subsystems. ' 

They’re engineered for easy 
installation and full compatibility 


A Maxtor Company 

Distributed by Anthem/Lionex Electronics, Future Electronics, Pioneer Standard Electronics, Quality Components and Storex. 
’^VAR pricing, corporate accounts welcome. SpeedStor is a trademark of Storage Dimensions. 

Other names indicated byTM are tradenames of their respective manufacturers. © 1987, Storage Dimensions. 

CIRCLE NO. 178 ON READER SERVICE CARD 








CODE MODULES 



Two revision branches that start with revision 1.1 and 1.2 are shown. The last revision or branch on the trunk is referred to 
as the tip. Branches also can merge back into the trunk, as is shown for the branch from revision 1.2 (1.2.1.3). 


revision is locked. A read-only copy, 
needed for viewing or compiling the 
file, can always be obtained from the 
SCMS. No lock is placed on the file 
when a user performs this operation 
and if the SCMS sets the DOS read-only 
file attribute on the copy of the revi¬ 
sion generated, the file is more difficult 
to modify and thus reinforces the 
read-only notion. A revision that is re¬ 
trieved for editing would have its 
read-only attribute cleared. 

If, when creating a working copy 
of a revision, the SCMS finds tliat a 
writable copy of the same file already 
exists in the user’s directory, it should 
provide an indication of this before 
overwriting it. This check prevents los¬ 
ing valuable modifications when a pro¬ 
grammer, who has a revision out for 
editing, wanks to check something in 
another revision of the same source 
file and requests a second copy of the 
file. The edit lock is removed from a 
revision when the owner checks it in 
with a delta operation or manually 
removes the lock. 

Identifying the team member who 
“owns” the edit lock on the file is 
quite useful. Someone who needs to 
make modifications to a locked revi¬ 
sion is made aware of who must 


check-in the file to make it able to be 
edited again. DOS has no user identifi¬ 
cation (ID) information available; 

SCMSs incorporate user ID information 
by means of environment variables or 
prompting for a user ID. It is also nec¬ 
essary for an SCMS that supports 
branches to allow more than one revi¬ 
sion of a source file to be edit-locked 
at the same time. This allows modifica¬ 
tions to be performed on several 
branches of the file in parallel. The 
SCMS should track which revisions are 
locked and by whom. 

When a file that has been modified 
is checked in, the SCMS must be able 
to determine the revision from which 
to create the delta. If the system allows 
multiple revisions to have edit locks 
and employs a user ID, then the de¬ 
fault is the revision that the user owns 
for editing. Otherwise, the default 
would be the single revision that is 
locked. For special circumstances, such 
as creating a new major revision, the 
user must have the capability to over¬ 
ride the default revision number when 
making a delta. In general, it should be 
the case that any attempt to apply mod¬ 
ifications to a revision tliat is not 
locked or that the user does not own 
generates an error. 


SYMBOLIC VERSION LABELING 

Many times during a project, current 
revisions of every module may be used 
to build a complete system. This result 
of this building might represent a re¬ 
lease of the product or a version that is 
to undergo internal system testing. This 
frozen configuration of the system 
often is referred to as a version of the 
system. A mechanism for remembering 
the source module configuration used 
to generate a version is needed so that 
it can be recreated upon request at any 
time in the future. 

The symbolic version labeling fea¬ 
ture provided with many SCMSs gives 
the source code librarian the capability 
to associate a symbolic version label 
with specific revisions of the source 
files. Figure 3 shows an example of a 
small program composed of four 
source files. Each of these files has 
reached its current state by going 
through several revisions. This is repre¬ 
sented vertically under each of the file 
names. The horizontal lines connecting 
revisions of each file represent the 
source code configuration at the time a 
version of the program was created. 
These versions have the symbolic la¬ 
bels Release_l, Release_2, Sys- 
tem_test, and Development. 


SEPTEMBER 1987 


55 







































































AN OLD DOS 

NEW TRICKS 

Protected Mode and 32-bit Performance Today 



A.I. 

Architects, Inc. 

One Kendall Square 
Cambridge, Massachusetts 02139 
(617) 577-8052 


A.I. Architect's 
HummingBoard^'' is a high perform¬ 
ance 386 coprocessor for the PC-XT, 
AT and compatibles available with 
the 80387 and 2-24 Mbytes of RAM. 


Introducing OS/286™ and OS/386™, 
extensions to MS-DOS 3.x that enable 
full use of the 80286 and 80386. Now 
you get direct access to all available 
memory, not just an archaic 640K. 

OS/286 and OS/386 propel your pro¬ 
grams beyond the limitations of DOS, 
without forcing you to start all over. 

Moving to protected mode is simple 
because OS/286 and OS/386 give you 
the same interface as DOS. The hard¬ 
ware is still under your direct control, 
many 16-bit compilers already gen¬ 
erate code suitable for OS/286 and 
OS/386, and existing highly tuned, 
machine-specific subroutines running 
in real mode can be efficiently called / 
from within protected mode. Since ■ 
most of your own code won’t need to be r 
rewritten, your programming invest¬ 
ment is preserved. And because 
OS/286 and OS/386 work with DOS 
3.x, they don’t affect other programs, 
device drivers, or TSRs. 

In addition to the larger address 
space offered by protected mode, 
OS/386 adds 32-bit performance to 
systems like the Compaq™ 386 
which, until now, have been shackled 
to 8086 emulation. 


OS/386 can be customized to give 
unmodified DOS programs up to 900k 
on 386 systems, regardless of how 
many TSR's, networks, disk caches, 
etc., are Installed. 


OS/286and OS/386 “ Features: 

• Huge address space (4GB on the 
80386) 

• 32-bit performance (80386) 

• No rewriting of device drivers 

• Compact code (under 64k) 

• Support for all existing DOS calls 

• New INT-21 calls for manipulating 
segments, invoking real-mode rou¬ 
tines and interrupt handlers, and 
addressing physical memory directly 

• Full interrupt vector support 

• Powerful debugging: concurrent 
DOS environment while debugging 
protected mode programs 

• The ability to run non-Windows pro¬ 
grams in a window 


IBMATGMhz 793 

Compaq 386-16Mhz 
HummingBoard-lSMhz 2 
HummingBoard-20Mhz 

Vax 8600 (Unix 4.3 BSD,cc) 

Sun 3/160 (Sun 4.2 3.0A,cc) 


A.I. Architects gives you a 
complete development toolkit: 

OS/286 or OS/386 kernel and linker. 
Symbolic debugger and command 
processor 
Options include: 

16-bit and 32-bit compilers 
High C, Professional Pascal, or 
F77L FORTRAN 


32-bit Assembler 


386 HummingBoard™ 

The basic Developer’s Kit is $495. 
32-bit Compilers are $895. Run time 
licenses for OS/286 and OS/386 are 
available at nominal cost. 


OS/286, OS/386 and HummingBoard trademarks of A.I. Architects, Inc., Compaq Deskpro 386 is a trademark of Compaq Computer Corp., High C and Professional Pascal are 

trademarks of Metaware, Inc., F77L FORTRAN is a trademark of Lahey Computer Systems, Inc., Microsoft and MS-DOS are trademarks of Microsoft Corp., VAX 8600 is a 
trademark of Digital Equipment Corp., Sun 3/160 is a trademark of Sun Microsystems, Inc., Unix is a trademark of AT&T. 


CIRCLE NO. 253 ON READER SERVICE CARD 




















CODE MODULES 



Files may be connected to a symbolic version label. Source file revisions are 
shown vertically; symbolic version label associations are the horizontal lines. 


Release_l consists of File 1, revi¬ 
sion 1.1; File 2, revision 1.0; and File 3, 
revision 1.2. Note that after Release_l 
was made, all files were changed to a 
new major revision number represent¬ 
ing the work on Release_2. Often the 
first revision of a new major release 
number is created by getting out the 
last revision of a file and putting it 
back unchanged at the new major revi¬ 
sion number. This process was re¬ 
peated after Release_2 was created. 

The current work on the next re¬ 
lease has two symbolic labels associ¬ 
ated with it. One represents die version 
that is undergoing to system test. The 
System_test version is composed of 
revisions of File 1, File 2, File 3, and a 
revision of the new File 4. As work on 
a project progresses, individual pro¬ 
grammers complete work on program 
features that are needed by other team 
members. The Development version 
represents the revision of each file that 
the responsible programmer wants 
other team members to use. Revisions 
of a file beyond the one with the De¬ 
velopment version label represent con¬ 
tinued development that the program¬ 
mer does not believe to be sufficiently 
stable for use by odier programmers. 

When a project member wants to 
build an executable system for test pur¬ 
poses, he would get copies of the revi¬ 
sion of all source files carrying the 
Development symbolic version label. If 
the programmer is testing new fea¬ 
tures, then work files may be present 
that have modifications beyond the 
Development revision of that file. The 
SCMS should not overwrite these modi¬ 
fied files when the user tries to get the 
Development revision of the file. If the 
DOS read-only file attribute is used to 
identify files that the SCMS considers to 
be nonmodifiable, then it is an easy 
matter to generate a warning whenever 
the SCMS attempts to overwrite a file 
that is not read-only. Alternatively, the 
file’s time/date stamp can indicate a file 
that has been modified. 

An SCMS that supports version la¬ 
bels should provide easy mechanisms 
for a label to be associated with a revi¬ 
sion of a file, disassociated with it, or 
changed to another revision. Also, to 
create the opportunity to build a spe¬ 
cific version of a program at a future 
time, it should provide a method for 
retrieving the revisions of all source 
files associated with a version label. 

HISTORY AND JOURNALING 

Many times project staff members need 
to know the difference between two 
revisions of a source file, either at the 


detailed source code level or in terms 
of a summary description of the 
changes made. The auxiliary programs 
discussed below provide the capability 
to show which lines of source code 
have changed. SCMSs provide a capa¬ 
bility to annotate the deltas made to a 
file. Whenever a file is initially put 
under code maintenance or when a 
revision is checked in, the user is 
prompted for a comment. This descrip¬ 
tion of the revision becomes a perma¬ 
nent part of the history for the file. 
Some systems limit the size of these 
comments to a single line, while others 
allow multiline revision descriptions. 
Reviewing these descriptions is useful 
when a problem is detected in an un¬ 
expected area and clues are needed to 
identify suspect modules. 

An important element to managing 
software development is tracking 
changes to the software. The features of 
an SCMS discussed so far assist in con¬ 
trolling changes to the source code. An 
SCMS that provides reports of activity is 
useful for a project manager who wants 
to follow development activity. Some 
systems maintain a journal of all actions 
performed on the files under SCMS 
control. This journal would record, for 
example, all get or put operations 
along with file name, revision, date/ 
time and user ID. A project manager 
can use tliis to track development activ¬ 


ity or a code librarian may get useful 
information from the journal file if a 
problem develops in the SCMS library. 

KEYWORDS 

When a revision of a file is called from 
the SCMS, the user might want to have 
some revision identifying information 
contained in the source file. This infor¬ 
mation might include revision number, 
date, programmer name, and/or reason 
for modification. If the programmer 
follows a strict discipline, the informa¬ 
tion could be placed into the source 
file whenever modifications are made. 
However, all of this information is 
maintained by the SCMS as it tracks 
changes to the source file and several 
systems provide a key word expansion 
mechanism to include the desired in¬ 
formation in the work file created. 

Key words such as Revision or 
Comments are placed into the source 
file in a defined format. When a get 
operation is executed, the appropriate 
data are inserted wherever the key 
words are found in the file. With key¬ 
word substitution, the working copy of 
a source file is easily identified as to its 
revision number, time/date stamp, or 
user ID of programmer creating the 
revision. If comments were included, 
then the revision descriptions for all 
previous modifications to the module 
are part of the work file. 


SEPTEMBER 1987 


57 






























































CODE MODULES 


Key-word substitution is performed 
in either one of two ways. In the first 
method, when the SCMS performs key¬ 
word substitution during the get opera¬ 
tion, the entire key word is removed 
and replaced with the appropriate in¬ 
formation. Alternatively, the key word 
may remain in the file with the infor¬ 
mation placed near it in a specific for¬ 
mat With the former method, each 
time modifications are made to a file 
the user must reenter the key word at 
the desired location so that it will be 
present for expansion after the reverse 
data has been applied to the file. Keep 
in mind that the method that keeps the 
key words in the source file does not 
have this editing requirement. 

The nature of the key word deter¬ 
mines its placement in diifferent sec¬ 
tions of a source file. An item such as 
the log of revision descriptions usually 
is placed into a comment field. The key 
word, which expands to the revision 
identification, is more often inserted 
into the file in a way that causes the 
identification charaaers to be present 
in the objea file that is derived from 
this source file. One technique for ac¬ 
complishing this is to place the key 
word inside a string definition. This 
module identification then also would 
be contained in the final executable 
program file. If the revision informa¬ 
tion is preserved, then a utility to dis¬ 
play any strings of charaaers found in 
a file can scan an objea file or execut¬ 
able file to identify the source configu¬ 
ration that created it. 

An SCMS is composed of one or 
several programs that perform its vari¬ 
ous tasks. Some systems also include a 
surrounding shell to provide a more 
friendly interface to the system. Most 
SCMSs also have auxiliary programs or 
operations that aid in source code 
management These extras provide 
functions beyond the routine get and 
put operations. 

One of the more common auxil¬ 
iary programs is a difference analyzer. 
Such a program performs the same 
delta detection algorithm that is used 
when modified files are checked in and 
displays the difference between two 
files or between a work file and a revi¬ 
sion under source control. A display of 
these differences can be quite useful if 
some time has lapsed since the last 
modification was performed on a file 
and the programmer needs to review 
what modifications already have been 
completed or to determine exacdy 
what changes were made between a 
working and nonworking revision of a 
module. If changes to source code 


need to be delivered, especially via 
telephone lines, a difference program 
can significantiy reduce the amount of 
data that must be sent. Of course, the 
receiving end also must have a pro¬ 
gram that can read a difference specifi¬ 
cation and generate the modified file 
from the original. 

CODE MAINTENANCE CHOICES 

The reviewed packages were tested in 
a simulated development cycle. Several 
files were maintained through revisions 
and branches, if supported by the 
SCMS. All features available in each 
package were tested for functionality, 
and ease of use was a key element. If a 
menu shell was part of the package, it 
was used for some of the testing. All 
operations also were performed from 

documentation across 
the board is surprisingly 
good. Compared to other 
software products, it was 
easy to locate inftyrmation. 


the command line to ensure that oper¬ 
ation from a batch file or automatic 
program builder is possible (see the 
accompanying sidebar, “Automatic Pro¬ 
gram Building”). Table 1 lists the fea¬ 
tures of the products reviewed. 

The test machine was an IBM PC 
running at 4.77 MHZ with 640KB of 
memory and a Maynard Electronics 
30MB i^ollo disk installed. To mini¬ 
mize disk access differences, the hard 
disk held only those files necessary for 
the specific test being run. In all, three 
tests were devised to demonstrate the 
relative performance of each package. 

Test 1 is a file that started as a sin¬ 
gle line of chai;aaers and was placed 
under source code management The 
file then was repeatedly taken out for 
edit, with a single line added at the 
end of the file, then the file was 
checked in with a short comment This 
process was repeated 100 times; the 
sizes of the resulting archive files for 
each SCMS are shown in table 2, along 
with the time it took to get the latest 
revision. Also shown is the amount of 
time required to retrieve the first revi¬ 
sion of the file after 100 deltas. 

The second test is a 50-line C pro¬ 
gram, a file that was put under control 
of the SCMS, then taken out for edit 


Each line in the file was transposed 
with the. next line in the file. Resulting 
sizes and times for revision extraction 
are shown in table 2. 

Test 3 is a text file with 47,073 
charaaers on 1,473 lines. This file was 
placed under source control and then 
retrieved for editing. A single line near 
the end of the file was modified by the 
addition of 21 charaaers to the middle 
of it, then it was checked in. Both the 
size of the archive file and the time to 
perform the delta operation for each 
system are shown table 2. 

The documentation across the 
board is surprisingly good. Compared 
to the material distributed with other 
software products, it was easy to locate 
information. All but one of the manuals 
are in the standard 5.5-by-8.5 inch size, 
with typeset pages, and each manual is 
distributed in a binder. None of them 
contained errors or misstatements that 
would have prevented the correa op¬ 
eration of the software. (Additional 
comments are made in the review of 
each produa.) 

Burton Systems Software, tub checks in 
as the least expensive produa re¬ 
viewed, yet it is packed with features. 
The programs that make up the system 
are distributed in a .arc file. To use the 
programs, they first must be extraaed 
using a provided archive utility. (The 
archive program, PKXARC, is not com¬ 
pletely compatible with the ARC pro¬ 
gram used by PCTECHline.) It also has 
an archive of several public domain 
programs. Included in this collection is 
a MAKE-type program complete with 
source code, two keyboard enhancers, 
and several other utility programs. 

A single executable file performs 
all of the source management opera¬ 
tions for TUB. When the program starts, 
the current direaory is searched for a 
configuration file called tlib.cfg. If 
found, it is read to configure the pro¬ 
gram. If this file does not exist, the 
environment is searched for a variable 
named tlibcfg, which, if found, is used 
to specify the name of a configuration 
file. Configuration files cannot be 
nested, and no means is offered of 
specifying a configuration file on the 
command line. Several modes of oper¬ 
ation can be enabled and disabled 
from the configuration file. 

TUB is the only system reviewed 
that, by default, can create a modifica¬ 
tion to the text in a source file, tub has 
an unacceptable default mode for han¬ 
dling tabs: upon check-in of a file and 
whenever possible, it converts all se¬ 
quential spaces to tabs, assumed to be 
at eight-column separations. Upon 


58 


PC TECH JOURNAL 



check-out, tabs are converted back to 
spaces, again assuming tabs every eight 
columns. But many files are edited with 
a four-column, tab-stop setting, and the 
TLiB default still will retrieve the file 
with spaces inserted for tabs assuming 
tab stops at every eight columns. Fortu¬ 
nately, TLIB has a configuration option 
to leave tabs and spaces as they are 
during both check in and check out. 
Another file modification that is per¬ 
formed—and cannot be optionally 
turned off—is the stripping of trailing 
blanks on a line. If an application re¬ 
quires that these spaces remain, then 
TLIB cannot be used. 

The archive files maintained by 
TLIB can be placed in any directory by 
specifying a PATH configuration option 
to TLIB. Part of this option also tells the 
system how to generate the name for 
the archive file based on the extension 
of the working file being stored. This 


extension calculation is not quite as 
flexible as that provided in Polytron’s 
pvcs, but is much better than the de¬ 
fault extension of .TLB. Using the de¬ 
fault causes collisions between files 
such as file.c and file.h when both are 
put under source control. The calcula¬ 
tion in TLIB permits combining charac¬ 
ters from the source extension with 
specified characters to create a unique 
extension such .c$ for .c files and 
.a$m or .asm. A configuration option 
can be selected that causes archive files 
to be made read-only to minimize the 
possibility of accidental deletion. 

Revisions of files are identified by 
a single integer number with support 
for neither major/minor revision num¬ 
bering nor branches. Files can be 
locked when changes are to be made. 
The lock information is stored in a sep¬ 
arate file in the archive directory. A cal¬ 
culation for the extension on this file 


also can be given in the PATH option. 
The lock information includes a user 
ID obtained from the an environment 
string TLIBID, or in the configuration 
file ID option. User ID is checked 
when the file is returned after modifi¬ 
cation, and the check-in is aborted if 
they do not match. Locking must be 
enabled in die configuration file and 
the necessary commands also must be 
enabled. When a file is checked out for 
read-only use, referred to as browsing, 
the work file does not have its read¬ 
only file attribute set. 

Some problems were found with 
the operation of the K command. This 
command checks in a file that had 
been checked out for editing, then 
immediately checks it out for editing 
again. When an unmodified file was 
checked in with the K command, die 
operation aborted because the FORCEU 
option was not selected to allow check- 


AUTOMATIC PROGRAM BUILDING 


Source code management is one of 
several steps involved in getting a 
program into an executable form. The 
SCMS can take care of making sure 
that all of the proper revisions of the 
source files are present. Then, many 
steps must be followed in sequence 
to create the final program. These 
steps often are specified in a way that 
allows for an automatic program 
building utility, such as MAKE, which 
is available under UNIX and with sev¬ 
eral compilers available for use with 
DOS, to rebuild the entire program. 

In a make file, all of the files that 
must be present for the program to 
be built are declared. The dependen¬ 
cies of certain files on other files is 
also declared along with the steps 
necessary to derive a target file from 
its dependent files. A target file is 
considered up to date if it has a later 
time/date stamp than all of its de¬ 
pendent files. If any of the dependent 
files has a newer time/date stamp 
than the target, all steps specified in 
the make file are executed to gener¬ 
ate a target file. If one of the depend¬ 
ent files is itself dependent on other 
files, then it is first rebuilt, if neces¬ 
sary, to bring it up to date. 

For this process to work the 
time/date stamp on files is critical. 

The safest approach is to have a work 
file extracted from the SCMS archive 
with the current time and date. This 
would force the rebuilding of all of 
the files that are dependent on this 
file. When a previous version of an 


entire program is to be built, often 
the operation is performed in an 
empty directory beginning with a get 
of all the appropriate revisions of the 
source files for this program version. 
The entire system is then rebuilt. 

For day-to-day development, op¬ 
erating in this manner can cause extra 
compilations. Storing object files in 
an object library and then deleting 
the object from the development di¬ 
rectory is common practice. The 
time/date stamp on the library file is 
not a reliable indication of the time/ 
date of one of the objects that it 
holds. A smarter program builder 
could determine the time/date of an 
object file within tlie library and then 
determine if a compilation must be 
done. Carrying tliis one step further, 
the program builder could deal en¬ 
tirely with revision IDs. Using an 
SCMS that includes revision identifica¬ 
tion that propagates into the object 
files, a program builder could detect 
if the objea file was derived from the 
requested revision of the source file. 
The time/date stamps are ignored 
completely because they are an arti¬ 
fact of the real issue, namely, “Did 
this object come from a certain revi¬ 
sion of the source file.” Both 
Polytron’s and Seidl’s source code 
management systems have separate 
MAKE type products that provide 
some of these features. 

At present, automatic program 
builders make an attempt to eliminate 
inconsistencies—that is, they make 


sure the object code that is used to 
build a working system was generated 
from the correct revisions of all tlie 
source files. The next generation of 
these programs will no doubt use ar¬ 
tificial intelligence techniques to man¬ 
age inconsistencies rather than com¬ 
pletely eliminate them. Rules will 
specify permissible inconsistencies. 
One such example is if the object 
code dependent on a source file is 
not up-to-date, but the changes that 
occurred in tlie later revisions of the 
source file are only in comment 
fields. This type of inconsistency can 
reniain without affecting the opera¬ 
tion of the final program, and the 
recompilation step can be omitted. 

Al-based program builders will 
have a tight coupling with the compil¬ 
ers and SCMS. Information will be 
available concerning the areas of a 
program that have been affected by 
changes in the source code. The auto¬ 
matic program builder will use this 
information to manage the inconsis¬ 
tency between tlie object file and 
source file and provide the user with 
details of that areas of the program 
that are not up-to-date. The user will 
specify rules that define the sections 
of a program and the allowable level 
of inconsistency. The result will be 
fewer operations performed to gener¬ 
ate development copies of the execut¬ 
able programs. Having fully consistent 
final production versions of the pro¬ 
grams released would be prudent. 

—Jim Vallino 


SEPTEMBER 1987 


59 












You probably already 
know that assembly 
language subroutines 
are the smartest way to 
get the fastest programs. 

But if the complexities 
of working in assembler 
made you think twice, 
here’s some good news. 

We’ve made Microsoft® 

Macro Assembler Version 
5.0 a lot easier to use. 

We eased the learning 
process by giving you the best 
support around. We com¬ 
pletely revised our docu¬ 
mentation. The new Mixed 
Language Programming 
Guide gives you step by step 
instructions for hnlmg your 
assembly code with Mcrosoft 
QuickBASIC, C, FORTRAN, 

Pascal and other languages. And 
you get a comprehensive refer¬ 
ence manual with hstings of the 
instruction set and examples of each instruc¬ 
tion. We didn’t stop there, though.You also 
get an on-disk collection of templates 
and examples. 

We’ve also dramatically simplified the 
high-level language interface. In just a few 


simple steps, you can be 
calling Macro Assembler 
subroutines from pro¬ 
grams written in your 
favorite language. 

Now that you’re writ¬ 
ing the fastest programs, 
Microsoft is giving you 
the fastest way to de¬ 
bug them. For the first 
time, we’ve added our 
CodeView® debugger 
to Macro Assernbler. 
With source code 
and comments on your 
screen, Microsoft Code¬ 
View makes debugging pro¬ 
grams containing assembly 
language subroutines a snap. 

And you’ll be glad to know that you 
don’tsaciifice any speed for all the ease of use. 

We took the fastet Macro Assembler on 
the market and made it even faster. 

So what are you waiting for? Get your 
hands on Microsoft Macro Assembler and 
see what it’s like to break your personal 
speed hmit 

H^aosoU' 

For more information or for the name of your nearest 
Micrasoft dealer, call (800) 426-9400. In Washington State c'md 
Ma.ska, (206) 882-8088. In Canada, call (416) 673-7638. 


Microsoft, the Microsoft logo and (CodeView are registered trademarks of Microsoft Corporation. 


CIRCLE NO. 150 ON READER SERVICE CARD 



CODE MODULES 


TABLE 1: SCMS Features 



BURTON 

DATALIGHT 

H&S ASSOC. 

POLYTRON 

QUILT 

SEIDL 

Product 

TLIB 

BRICKS 

SCIL 

PVCS 

SRMS 

SVM 

Version 

3.0 

1.23 

1.24 

1.4a 

3.0 

1.05 

Price 

199.95 

$159.00 

$349.00 

$395.00 

$185.00 

$299.95 

Specific directory structure 

o 

• 


O 

O 

• 

Revision locking 


o 

• 


• 

o 

User identification 

• 

o 

• 

• 

o 

o 

Revision deletion 

o 

o 

• (tip) 

• (any) 

• (tip) ■ 

o 

Symbolic version labeling 

Batch file 

• 

• 

• 

• 

• 

Branching 

o 

o 

With vers. 

Unlimited 

1 level 

8 levels 

Merging 

• 

o 

• 

• 

• 

• 

Key words 


o 

O 

• 

Replace 

o 

Difference program 

• 

• 

• 

• 

• 

• 

Activity logging 

o 

o 

o 

• 

O 

o 

Screen-base interface 

• 

o 

• 

O 

• 

• 

User configurable 

• 

o 

o 

• 


o 

Archive file write-protected 


o 

o 


• 

• 

Archive file name 

Extension 

calculated 

Work file 

Fixed 

extension 

Extension 

calculated 

Work file 

Work file 

Revision comments 

Single line 

Multiline 

Multiline 

Multiline 

editable 

Multiline 

Multiline 

editable 

Work file time/date stamp 

Current 

Current 

Current 

Original, 

current 

Original, 

current 

Original 

Max. line length (char.) 

254 

512 

300 

65,535 

255 

512 

Max. number of lines. 

32,000 

65,535 

64,000 

1 G lines 

5,000 

16,383 

Max. number of revisions 

32,767 

65,535 

999 

1,500 

500 

>2 million 

Manual size, style 

110+ pp.. 

40 pp., 

160+ pp.. 

120 pp.. 

130+ pp.. 

215 pp., 


typeset 

typeset 

dot matrix 

typeset 

typeset 

typeset 


• = Yes Cwretit directory^ 

0=No * Optional 

^ Revision comments only 

Archil 'e location __ 

All of the products reviewed in this article provide the basic functions that are necessary to code management, but two stand 
out: PVCS provides everything that is needed for a large project; TUB is a very complete system for its low price. 


ing in an unchanged file. The 
DELETESRC option was active, which 
caused the working file to be deleted. 
The lock on the file is kept, correctly, 
but no check-out of the file is per¬ 
formed. The file had to be checked out 
manually to get another working copy. 
The documentation says that 
DELETESRC does not affect the K com¬ 
mand, but this does not seem to be 
true because the work file remained 
when a K command was performed 
with DELETESRC set negatively. 

iiiB provides a unique feature 
among the products reviewed. The 
user can specify customized prompts 
and help messages in the configuration 
file. This allows for personalized opera¬ 
tion or can provide information spe¬ 
cific to maintaining code for a project. 

A file that is checked in after edit¬ 
ing can have a single comment line 
added as a revision description. As an 
option, TLiB can include in this line the 
check-in time and date. The accumu¬ 
lated revision history also can be added 


to the working file by key-word substi¬ 
tution. The specification of the location 
in the working file for tliis information 
is a little confusing at first, requiring 
column counting and line spacing in¬ 
formation. No key word is provided for 
insertion of only the revision number 
as an identifier that would propagate 
through to object files and executable 
code. When a file is retrieved from the 
archive, no matter what revision is re¬ 
quested, the resultant working file will 
always have the current time and date. 
It must be said that this is a conserva¬ 
tive approach for automatic program 
building since it forces a recompilation 
of the source file. 

iiiB provides version labeling in a 
minimal fashion. The tlibsnap program 
creates a DOS batch file that has a tlib 
regress command for every file speci¬ 
fied. The regress command specifies 
tlie latest revision as the one to re¬ 
trieve from the archive. A single re¬ 
mark line gives a description of the 
revision retrieved. Files from several 


libraries can be placed in one snapshot 
file; new files can be appended later. 
This is an ASCII .BAT file, so any neces¬ 
sary changes can be made easily, and 
tlie files also can be maintained by the 
source code manager. 

The documentation states that iiiB 
will support operation in a local area 
network (LAN) environment and rec¬ 
ommends using the DOS 3.1 SHARE 
program. (However, the system was not 
tested on a network to validate this 
claim for purposes of this review.) 

niB turned in an excellent perfor¬ 
mance on all three tests used for this 
review. On tests 1 and 2, it generated 
die smallest library files, although its 
times were average. When compared to 
die systems that do not perform a com¬ 
paction technique when storing the 
data, it also generated the smallest file 
for test 3. It was, however, amazingly 
fast in generating the delta. 

Datalight, Inc. bricks is a utilitarian 
SCMS—not many frills or options. The 
library of archive files under bricks 


SEPTEMBER 1987 


6l 












CODE MODULES 


TABLE 2 : SCAIS l\nfonnaiice 


BURTON DATALIGHT H&S ASSOC. POLYTRON QUILT SEIDL 


Product 

TLIB 

BRICKS 

SCIL 

PVCS 

SRMS 

SVM 

Test 1 file size 

5,760 

8,274 

41,449 

9,785 

11,566 

9,901 

Get 1.0 

2.1 

70.0 

12.2 

9.8 

10.1 

1.8 

Get 1.100 

4.8 

4.8 

11.4 

6.0 

9.8 

1.8 

Test 2 file size 

1,599 

2,245 

2,709 

1,785 

2,405 

1,844 

Get 1.1 

2.5 

2.8 

5.2 

2.2 

2.9 

1.6 

Get 1.2 

2.7 

1.9 

5.4 

2.2 

3.0 

1.5 

Test 3 file size 

47,198 

47,334 

49,741 

47,370 

47,282 

46,198" 

Put 1.2 (min:sec) 

0:19 

1:44 

1:16 

0:41 

5:29 

0:48 


Allfile sizes are in bytes. All times are in seconds except where indicated. 

" In normal file mode; when compression is used, file size is 30,518 and time required for put is 0:44. 


PVCS, SVM, and TLIB all exhibited good performance in the three tests for this 
article. SVM generated a smaller file in test 3 than the others using its normal file 
mode and a 34-percent smaller file when using its file compression option. 


control are placed in a subdirectory 
called BRICKS, in the directory where 
the source files exist This is a manda¬ 
tory arrangement. The manual warns 
that the user should neither disturb any 
of the files in the bricks subdirectory, 
nor add new files to it. bricks archive 
files have the same name as the source 
file, which can lead to confusion when 
doing backups. The user can specify 
where temporary files are placed by 
setting an environment variable, TMP, 
to the name of a directory. A RAM disk 
can increase the speed of operation. 

BRICKS has several separate pro¬ 
grams to perform the SCMS functions. 
The two used most frequently are bi 
(bricks check in) and bo (bricks check 
out). The bi command is used to ini¬ 
tially place a file under bricks. Bi 
creates a library file in the bricks 
subdirectory. (It also creates the bricks 
subdirectory if it does not exist.) 

The get operation is performed 
using the bo command. Both bo and bi 
can have wild cards and lists of files 
specified for multiple-file “gets” or 
“puts.” BRICKS keeps track of a file’s sta¬ 
tus with a file time/date stamp. When a 
revision of a file is pulled, the work 
file gets the current time/date. The 
BRICKS library file’s time/date is also 
modified to this value. No means is of- 
. fered of user ID or for locking a revi¬ 
sion when it is checked out. All 
checked-out files can be written to, as 
can the bricks libraries themselves. 
However, the lack of write-protect on 
the latter files could lead to disastrous 
results with an inadvertent deletion. 

If a work file has a later time/date 
stamp than its corresponding bricks 
archive file, it is considered out of 
date. A bo operation will generate a 
warning and not overwrite an out-of- 
date file unless forced by a command 
line option. When the user performs a 
bi, the operation aborts if the file spec¬ 
ified is up-to-date. The user can force a 
check in of the unchanged file via a 
command line option. The bi program 
checks time/date stamps only to deter¬ 
mine if a file is up-to-date, which, in 
normal usage, is an accurate test. If the 
user wants to check in to a work file 
with a time/date stamp that is prior to 
the last bo operation on that archive 
file, the time/date stamp will have to be 
brought up to the current time. 

Version labeling is provided by the 
bthread program. The current revision 
of every file specified is saved in a file. 
This thread file, as it is called by bricks, 
can be used later to check out these 
revisions of the files. The thread file is 
an ASCII file that can be edited to 


make changes to the version associa¬ 
tion for a single source file without 
changing any other associations. 

When a file is checked in, the 
original source code remains in the 
development directory. Automatic dele¬ 
tion of the working file is not pro¬ 
vided. BRICKS strips the trailing Ctrl-Z 
(DOS end-of-file, or EOF, marker) from 
a file. In one instance, when a file that 
started with an EOF terminator was 
checked in and then checked out, it 
came out one byte shorter minus the 
Ctrl-Z. Whether or not this is a prob¬ 
lem will depend upon the editor used. 

The blog program displays the re¬ 
vision history of one or several files. 
Multiline revision descriptions are en¬ 
tered by the user when the bi com¬ 
mand is executed. Editing of a descrip¬ 
tion can be done only on the current 
line being entered. If multiple files are 
checked in together, the user can, op¬ 
tionally, use the same revision descrip¬ 
tion for all. A program also is provided 
to display differences between two files 
or a file and a revision in a bricks li¬ 
brary archive. This information cannot 
be used to update a file because the 
package has no program to generate a 
new file from the original and a set of 
differences. Neither does bricks have 
facilities for deleting a revision from a 
library file. Branches and key-word 
substitution are not supported. 

BRICKS’ performance on the tests 
falls in the middle of the pack. It is 
obvious from the time differences for 
extracting the first and last revisions of 
the file in test 1 that bricks uses re¬ 
verse deltas: its extraction time for the 
first revision was the longest. 

H&S Associates. The Source Code In¬ 
teractive Librarian (sen) is a complete 
SCMS package; even so, this implemen¬ 


tation leaves a lot to be desired. Its 
philosophy is unconventional compared 
to that of the other products reviewed 
here, and much of its nomenclature is 
different from what has become com¬ 
mon usage to other SCMSs. 

sen runs from a single program 
using either an interactive mode, or the 
user can specify the necessary informa¬ 
tion on the command line. The interac¬ 
tive mode is line-oriented using a 
question-and-answer format, sen asks 
the questions and the user types the 
answers. Help information is available 
at the various prompts for input, but 
the help text files are required to exist 
in the current directory. This can be 
cumbersome especially in cases where 
several projects in separate directories 
each requires a copy of all help files. 

sen uses the concept of a library 
of source files. The library contains 
several frames, each of which can cor¬ 
respond to one source file module in 
the program. Information about library 
configuration is kept in a .SCL file, and 
each frame is maintained in a .SCF file. 
None of these files is write-protected. 
Before a file can be put under source 
control by sen, its frame must be 
added to the library. As a frame is 
modified, it progresses through several 
“levels,” each of which is equivalent to 
a revision. Level numbers are single 
values from 1 to 999. Symbolic version 
labels are called releases and operate in 
a way that is similar to version labels 
in other products. 

sen also adds the concept of a ver¬ 
sion; the sen version is a mechanism to 
specify that the changes made to a file 
are valid only for a specific version of 
the file. Source files can be retrieved 
by the version name, and only changes 
stored as part of that version will ap- 


62 


PC TECH JOURNAL 












pear in the resultant work file. The soil 
manual specifies that this feature can 
be used to maintain one frame for sev¬ 
eral different operating systems or to 
maintain several source files in one 
frame. The utility of the latter is ques¬ 
tionable, although the former provides 
a capability similar to branching. Merg¬ 
ing of versions is available. 

sen provides minimal user custom¬ 
izing or configuration for placement of 
files. All library files and frame files 
must reside in the current directory. 

For every command, the name of the 
library and the name of a frame must 
be entered. When in interactive mode, 
it would aid the user tremendously if 
the previous library name could be 
used as a default value. 

Frame names can be a maximum 
of eight characters (periods and colons 
are not allowed). To distinguish be¬ 
tween a source file test.c and test.h, 
the extension must be embedded in 
the frame name, such as teste and 
testh, respectively. This will cause a 
problem if the base file name plus ex¬ 
tension is more than eight characters. 
When a frame is pulled from a library, 
a single extension is used as the de¬ 
fault for every frame in the library. The 
frames above would be named 
testc.get and testh.get as defaults. This 
default file name can be overridden 
with the -G option, but no means is 
available to specify the desired file 
name from the command line. This 
makes its use in a batch file or by an 
automated program builder difficult. 

To avoid some of these problems, 
the programmer can create a separate 
library for each type of file used. One 
possible arrangement keeps all C pro¬ 
grams in a library of C frames and de¬ 
faults the get extension to .c. Similarly, 

C include files would be in another li¬ 
brary that used .h as the default get file 
name extension. Frame names are the 
same as the file name without an ex¬ 
tension in this method. Each library 
also must specify a frame file extension 
because collisions could occur if all 
libraries used the .SCF default. The soil 
user manual provides no guidance or 
examples for organizing project source 
files as described above. The unfortu¬ 
nate part of this is that more and more 
files other than the frame file must be 
saved to do a complete backup. 

One library paranieter that can be 
changed when a library is initially cre¬ 
ated is the control record character 
(the default is @). The manual clearly 
states that no file maintained in the li¬ 
brary can have a line that begins with 
the control record character. This is the 


only SCMS that places a constraint on 
the contents of files being controlled. 
The control record charaaer can be 
changed, but only before any frames 
are actually stored in the library. If a 
problem develops later with a frame 
starting with the control record charac¬ 
ter, no method is specified to correct 
the problem. 

During a get operation, sen gener¬ 
ated an error message because of a 
missing lead comma before the frame 
name on the command line. It then 
continued to process the request only 
halfway—putting a lock on the frame 

^\he Polytron Version Con¬ 
trol System is oriented to¬ 
wardflexibility and ease of 
use. Each system file per¬ 
forms one operation. 


but not actually creating a copy of it. 
This lock had to be removed manually 
to get a copy of the frame. During an¬ 
other operation, sen prompted for 
frame names when building a new li¬ 
brary. The user has to provide a cor¬ 
rect input value. The operation could 
not be aborted without pressing Ctrl-C. 
This caused the opened library descrip¬ 
tion file to be left behind with a leng^ 
of zero. When an attempt was made to 
build the library again, sen complained 
about the presence of this file and 
aborted the operation. 

sen does maintain locks on files 
that are checked out for editing. It is 
possible to write to all checked-out 
files, and the system does prompt for 
permission to overwrite an existing 
copy of the file. A name for the owner 
of the lock is requested. The default 
mode for the get operation is a check 
out for editing. In order to get a read¬ 
only copy, the -x option must be speci¬ 
fied. A file can be checked in only if a 
corresponding get is active. Following a 
delta operation, the default is to delete 
the working copy of the file but this 
can be overridden with -k. 

One display command shows the 
current options for the library, metrics 
such as lines that are added/deleted for 
each level of one or several frames, 
and the log of comments entered when 
frames are checked in. These level 
comments can be multiple lines long 
with simple line editing capabilities 


available when entering the informa¬ 
tion during a put operation. 

The documentation for sen comes 
in a spiral-bound, 8.5-by-ll inch book 
with pages printed on a dot-matrix 
printer. Some sections, notably the 
index, were especially difficult to read 
because they had been printed in a 
compressed mode. 

The sen file generated for test 1 
was larger than the next biggest file by 
more than a factor of 4. It is also the 
case that sen performed slower than 
average in all three tests. 

Polytron Corporation. The Polytron Ver¬ 
sion Control System (pves) is one of 
several CASE tools available from this 
company. Pves is oriented toward flexi¬ 
bility and ease of use. The system’s 
operation can be controlled mosdy 
through configuration files. The system 
is composed of several programs, each 
performing one operation. When a Pves 
command is given, the system begins 
by checking the current directory for 
the vcs.cfg file. If it is not found, the 
command then looks for an environ¬ 
ment variable called VCSCONFIG and 
uses the associated string as the name 
of a configuration file. Items that can 
be specified in the configuration file 
include user ID name, the directory in 
which library archive files are main¬ 
tained, and the directory in which tem¬ 
porary work files should be placed. 

The user ID can be specified in the 
configuration file or via an environ¬ 
ment variable called VCSID. Configura¬ 
tion files can be nested, a feature that 
allows for project-wide configurations 
to automatically perform a user-specific 
configuration. 

As a default, all files maintained by 
pves have their read-only file attribute 
set. This helps to prevent accidental 
deletion of library archive files. All the 
information for a given source file is 
kept in a single file maintained by Pves. 
This file, referred to as the log file, is 
given the same base name as the 
source file and the extension is calcu¬ 
lated using the LOGSUFFIX configura¬ 
tion option. For example, with the de¬ 
fault value for LOGSUFFIX, Pves keeps 
a .c work file in a .c_v log file, while 
.ASM files have a j\SV file extension. 

Any operation that causes 'a change 
to a log file generates an entry in a 
journal file if the JOURNAL configura¬ 
tion option has been specified. Differ¬ 
ent projects or subsections of a large 
project can use different journal files 
by changing the name specified in the 
configuration file. A journal entry 
shows the log file, user ID, time/date 
and action performed. The VJOURNAL 


SEPTEMBER 1987 


63 



Mitsubishi 

Makes Tbday^ Selection 
Of A Person^ Computer 
A Little Easier 


The Mitsubishi MP 286: 
Quality and compatibility 

Finally. An industry standard 
PC that offers the perfect balance of 
size and power. The small 15" x 15" 
footprint fits on any desktop, yet is 
big enough in performance and relia¬ 
bility to earn the name Mitsubishi. 

A company which has been con¬ 
tinuously marketing high quality 
compatible personal computers 
in the U.S. since 1983. 

With all the advantages of 
uncompromising quality and com¬ 
patibility, it^s no wonder the MP 286 
is the PC of choice among business 
professionals. 

Productivity and 
performance* 

Available with EGA, auto¬ 
tracking Diamond Scan™, or mono¬ 
chrome monitors, the Mitsubishi 
MP 286 provides everything you 
need for greater productivity. 

Today. 

The MP 286 is designed with 
proven features and capabilities for 
maximum performance. Features 
that include an 80286 microprocessor 
that operates from6MHz up to 


8MHz/0wait Six slots for expansion 
and custom configuring. And for 
added flexibility and functionality, 
the Mitsubishi MP 286 can run vir¬ 
tually every MS-DOS® compatible 
software program. Additionally, the 
MP 286 can support most Xenix®- 
based applications. 

Stay with the standard. 

When you’re selecting a 
new PC, consider the advan¬ 
tages of convenience and 
flexibility provided by the 
industry compatible, smaller 
footprint MP 286. Compat¬ 
ibility with these currently 
available hardware and software 
products maximizes your return on 



investment It should make your 
selection a little easier. 

The value of a diamond. 

It all adds up to the ultimate 
value in personal computers. And of 
course, backed by the worldwide 
resources of one of the biggest names 
in computer technology: Mitsubishi. 
Our name and logo symbolize 
an ongoing commitment 
to product quality, design 
innovation and cus¬ 
tomer satisfaction that is 
also an industry standard. 

Tbu can be sure our new 
MP 286 can make a powerful 
difference in your business produc¬ 
tivity now and into the future. After 
all, you have our name on it. 

Mitsubishi Electronics America, 
Inc., Computer Systems Division, 

991 Knox Street, Torrance, CA 
90502. Call 1-800-556-1234, ext 25. 

In California, 1-800-441-2345, ext 25. 





MITSUBISHI 

PERSONAL COMPUTERS 


Assembled in the U.S.A. 

CIRCLE NO. 237 ON READER SERVICE CARD Diamond Scan is a trademark of Mitsubishi Electronics America, Inc. 

MS-DOS is a registered trademark of Microsoft Corp. 

Xenix is a registered trademark of Microsoft Corp. 

© 1987 Mitsubishi Electronics America, Inc. 










CODE MODULES 


program allows a user to display jour¬ 
nal entries qualifying the selection in 
the following way. date, logfile name, 
operation, and user ID. 

When a user checks a file out for 
editing, the revision can be locked. 
Multiple revisions of the same file can 
be locked by different users. A given 
user can, however, lock only one revi¬ 
sion of a file. The locking information 
is maintained within the log file; thus, 
pvcs is the only system reviewed that 
does not use a separate file to support 
revision locks. An error message is 
generated if a user attempts to check 
out a locked revision for editing. When 
the revision is taken out for editing, 
the resultant work file is writable, 
while revisions that are checked out for 
reading have the MS-DOS read-only file 
attribute set. This can be changed with 
a configuration option so that all files 
checked out are writable. If a writable 
work file of the same name already 
exists when the checkout is performed, 
the user is asked for permission to 
overwrite. Command-line options for 
the GET command can specify auto¬ 
matic overwrite permission or denial 
that allows GET to run in a batch file. 
The extracted work file receives the 
revision’s original time/date stamp by 
default or, if desired, it is possible to 
get the current time and date. 

When a user checks in a revision, 
the system examines the user ID for a 
match with one of the revision locks. If 
the current user does not own a lock, 
an error message is generated. Other¬ 
wise, the delta is performed according 
to the revision information in the 
user’s lock. All revision locking can be 
disabled from the configuration file but 
has an effect only when an archive is 
first created. After that, the locking 
action is stored in the log file and can 
only be changed using the VCS utility. 

If a revision other than the tip of a 
branch or the trunk is accessed for ed¬ 
iting, PVCS assumes that a new branch is 
to be created from the revision that has 
been retrieved and will do so when 
the modified file is checked in. 

PVCS provides one additional con¬ 
trol feature that is not found on any of 
the other products in this review. A 
given source file can have an access list 
specified. The user ID of the operator 
who initially checked in the source file 
to PVCS is considered to be the owner 
of the file. This user may specify a list 
of user IDs to be considered the access 
list. Only user IDs on this list are given 
permission to access information in the 
log file. In this system, access lists are 
stored in the individual log files. The 


general VCS utility can be used to 
change the access list or owner ID. 

pvcs allows revisions to be deleted. 
Most systems that have this capability 
allow revisions to be deleted only one 
at a time from the tip. In one opera¬ 
tion, pvcs allows one or several revi¬ 
sions to be deleted from the tip. It is 
the only system reviewed that also al¬ 
lows revisions to be deleted from the 
middle of a development trunk or 
branch. The remove delta function, 
performed with the VCS utility, com¬ 
pensates for the removal of intermedi¬ 
ate deltas by adjusting the remaining 

*\he PVCS key-word expcin- 
sion is the best, with 
words for mer ID, revision 
date, logfile path, and revi¬ 
sion description comments. 


delta information. Caution should be 
exercised when deleting revisions 
using wild-card specifiers: pvcs gener¬ 
ates an error message and aborts if the 
user tries to delete a locked revision or 
a revision with a branch. 

When a file is checked in, the user 
is prompted for revision comments. If 
an editor has been defined to pvcs in 
the configuration file, it is used for en¬ 
tering the comments. This takes a little 
longer to start the editor running, but 
it has the advantage of making it easier 
for the user to correcdy enter multiline 
comments for the revision. If no editor 
is defined by the user, then a line edi¬ 
tor with a full selection of commands 
is provided by pvcs. 

The pvcs key-word expansion is 
the best of all the systems reviewed. 

Key words are available for user ID, 
revision date, log file path, and a log of 
all of the revision description com¬ 
ments. Key words are expanded by de¬ 
fault. The expansion is not a substitu¬ 
tion, however, which means that once a 
key word has been placed into a 
source file, it will not need to be in¬ 
serted again; and for every get from 
PVCS, the key word will be expanded. 
This feature is useful in ensuring that 
revision identification always propa¬ 
gates through to object files and exe¬ 
cutable code. PVCS includes the ident 
program, which scans any type of file 
and prints out all key-word strings 
found in the file. This often is used to 


scan object and executable files to de¬ 
termine the source code configuration 
that created them. 

The vdiff program calculates differ¬ 
ences between revisions. Comparisons 
can be made between two work files, a 
work file and a revision in the log file, 
or two revisions in the same or differ¬ 
ent log files. The specification of the 
two sources for comparison is very 
flexible. The output from vdiff can be 
saved into a file to be used later by the 
regen program to create the second 
file from the original one. In addition, 
the merge program, vmrg, combines 
two source files into one. 

PVCS supports symbolic version la¬ 
bels. All label information is kept in 
the log files for each source file. As is 
the case with most PVCS commands, 
wild cards can be used to specify file 
names; this method provides an easy 
mechanism to label all the latest revi¬ 
sions of a project with a version associ¬ 
ation. If an association for the label 
specified already exists in a file, the 
user is prompted for permission to 
change it. Alternatively, a command 
line option can be set to grant or deny 
this permission automatically. Version 
labels can be used in pvcs commands 
in place of a revision specification. 

PVCS also provides vlog, a program 
that displays information about files in 
the archive. The user does not have 
control over the type of information 
displayed. Output is either brief, which 
shows information only about the log 
file, or full, which shows file names, 
locks in place, number of revisions, 
and the description of each revision. 
Output can be qualified by date, revi¬ 
sion, version, or author. 

The first version of pvcs tested for 
this review (1.3) exhibited some unex¬ 
pected behavior when used with cer¬ 
tain files. The delta detection algorithm 
had difficulty with files that contained 
few unique lines. Small changes in 
such a file resulted in large changes in 
the size of the archive file; however, 
such files are atypical in normal use. 
The problem was observed during this 
review when a large file was created by 
duplicating a smaller file many times. 
This problem did not occur with any of 
the files that were generated through a 
“normal” development process. When 
notified, Polytron support personnel 
provided an updated version of pvcs 
(1.4a) that solves the problem. Users 
who encounter this problem also may 
obtain an update, pvcs performed well 
in the benchmark tests. 

The Polytron documentation pro¬ 
vides a good description of how librar- 


SEPTEMBER 1987 


65 



EXTRA EXCITEMENT FOR 
THE NEW GENERATION. 



INTRODUaNG THE MOST 
POWERfUl 3270 SOFTWARE 
FOR THE PS/2: 


If you think EXTRA! Connectivity Software™ is just another dumb 
terminal emulator, hold on to your keyboard because you’re in for a 
powerful surprise. 

EXTRA! offers more connections to high places for the new genera¬ 
tion of IBM® PS/2™ computers and the PC/XT/AT—even the 3270-PC. 
EXTRAl’s universal connectivity lets you keep the same friendly soft¬ 
ware over coax, modems, or local area networks using hardware adapters 
from IBM, Attachmate or IRMA™ 


Extra Power at Your Fingertips. 

EXTRAl’s powerful features include up to four mainframe sessions, 
printer emulation, and a choice of file transfers—including a better way 
to exchange documents and PC files with DISOSS. Plus the power of 
our IBM compatible 3270-PC API and HI T APT 

You even have the options of adding host graphics and LAN Gateways. 



attachmate 


Find out what all the excitement’s about. For 
more details on EXTRA! and a free copy of our Quick 
Reference Guide for Micro-Mainframe Communications, 
call toll free: 1 - 800 - 426-6283 


Quality Micro-Mainframe Solutions. 


Attachmate Corporation 

3241 118th S.E., Bellevue, WA 98005 

(206) 644-4010 


CIRCLE NO. 165 ON READER SERVICE CARD 


Copyright ® 1987, Attachmate Corporation. EXTRA! Connectivity Software is a trademark of Attachmate Corporation. 
IRMA is a trademark of Digital Communications Associates, Inc. IBM is a registered trademark and Personal System/2 
is a trademark of International Business Machines Corporation. 
































CODE MODULES 


ies might be set up for a single pro¬ 
grammer shop, multiprogrammer 
nonnetworked environment, or a net¬ 
worked environment. It also offers a 
clear explanation of exactly how the 
networked operation works, including 
the mechanism that is used for locking 
log files from simultaneous updates, 
pvcs does not require the DOS SHARE 
program in order to support net¬ 
worked operation. (However, no test of 
networked operation were performed 
for this review.) 

Polytron currently offers two ver¬ 
sions of PVCS, network and corporate. 
Network:PVCS supports operation in a 
networked environment; Corporate:PVCS 
runs on one machine in an environ¬ 
ment that is not networked. Both prod¬ 
ucts support the full set of features. 
Polytron also has a third version called 
Personal:Pvcs, which is meant for a sin¬ 
gle programmer operation and does 
not support user IDs or revision lock¬ 
ing. Some of the auxiliary programs, 
such as vdiflf and vmrg, are not sup¬ 
plied in the latter version. 

Quilt Computing. Quilt’s Software Revi¬ 
sion Management System (srms) is the 
easiest package to use, compared to the 
other of these systems that provide a 
screen-based menu, srms is composed 
of several executable files, each of 
which performs one of the operations 
for managing source code. The initial 
menu screen displays a list of most of 
the programs that can be run. Once a 
program is selected, a second screen 
appears with entries for options and 
file names. In the lower half of the 
screen is a list of all available options 
and a short description of each. An 
error message is generated if the user 
attempts to run an operation without 
providing all necessary information. 

The menu displays a particularly good 
use of color highlighting. 

Archive files under the control of 
SRMS can be kept in any directory. The 
environment variable SRMS$LIB identi¬ 
fies the directory in which the srms li¬ 
brary archives are kept. Library archive 
files cannot be maintained in the work¬ 
ing direaory because they are given 
the same name as the source file. In¬ 
stead, SRMS keeps information about the 
library in several files. These include a 
file named srms.cfg, over which the 
user has no control, the individual ar¬ 
chive library files, and separate files to 
maintain locking information and sym¬ 
bolic version data. However, only the 
library files and the lock files have the 
read-only attribute set. 

SRMS does not support a user ID 
but does determine the name of the 


current directory when the get opera¬ 
tion retrieves a file for editing, liiat 
name is stored in the lock file for the 
source file retrieved. Each programmer 
on a given project can have his own 
directory to provide an indication of 
the owner of the lock. When working 
with SRMS, the programmer would 
change the current directory to his per¬ 
sonal directory and then perform the 
necessary SCMS operations. Also, com¬ 
ments can be stored in the lock file 
that can include a user ID. When a 
delta is performed and the current di¬ 
rectory does not match that stored in 
the lock file, the operation is aborted. 

SRMS has some problems with its 
file locking. The most major of these is 
that a file is locked with an auxiliary 

guilt’s Software Revision 
Management System is the 
easiest to use of those with 
screen-based menus; it 
clearly displays all options. 


file, the name of which is composed of 
the base name of the file being locked 
and a fixed extension of .px. If 
module.c is retrieved with locking, a 
file named module.px is created in the 
SRMS library directory. Then, when the 
user attempts to get module.h with 
locking, the system says that the file is 
already locked because module.px 
exists. The only way around this is to 
keep files that would collide in this 
manner in separate directories. Inci¬ 
dentally, the documentation makes no 
mention of this potential problem. 

Another problem is that the .px 
file maintains information about the 
base revision and new revision that will 
be created when a file is checked in. 
The delta is performed from the base 
revision specified in the .px file. In 
many cases, this can lead to confusion. 
Assume a file is checked with locking, 
for example, revision 1.6 to create revi¬ 
sion 1.7. When the file is checked in, 
the user wishes to create a new major 
release by specifying the delta as revi¬ 
sion 2.0. The SRMS manual says that the 
next revision information in the .px file 
is ignored and the .px file is not de¬ 
leted when the operation completes. 
The manual goes on to suggest that 
this file be manually deleted. If it is 
not, and someone checks in another 


revision (srms allows this though 
should nbt since no revision is legally 
out for edit) the system will create a 
new delta of 1.7 using a base of revi¬ 
sion 1.6 as specified in the .px file. 

Now a new revision is present on the 
trunk that is located numerically be¬ 
tween revision 1.6 and 2.0. When the 
next get is performed, however, revi¬ 
sion 1.7 is considered the tip and it is 
checked out to create 1.8. 

SRMS supports branches; however, 
the operator must explicitly state his 
intent to create a branch when the get 
is performed. If he performs a check¬ 
out for edit on any nontip revision 
without specifying that a branch is to 
be created, srms assumes that he wants 
to use that revision as a base to create 
the next revision at the tip of the 
trunk. It would seem that this runs 
contrary to the idea that deltas are ap¬ 
plied one after the other without skip¬ 
ping intervening revisions. Getting a 
non-tip revision for edit should imply 
the desire to create a branch. 

Files that are retrieved without 
edit permission are not set as read¬ 
only. Also, a file can be checked in 
even if no revision of that file is out 
for edit. This and the lack of a user ID 
limit the usefulness of srms on a proj¬ 
ect with several programmers, srms al¬ 
lows only one revision of a file to be 
out for edit at a time. With srms, a dis¬ 
tinction is made between taking a file 
out for editing and locking it. The user 
must explicitly specify the request for a 
lock. If he does not, another program¬ 
mer can take out . a revision for edit 
and will not know that module is al¬ 
ready out. This second get operation 
could change the contents of the .px 
file. Unless each programmer uses a 
separate directory, unexpected results 
could occur when the first programmer 
performs a delta of modifications. 

Using separate directories, the first pro¬ 
grammer would receive an error mes¬ 
sage when attempting to delta the 
modifications. An SCMS that supports 
revision locking should automatically 
generate the lock at the time that a file 
is taken out for edit. No convenient 
method is available to remove a lock 
on a file. Removing the lock requires 
the user to manually reset the read¬ 
only attribute on the associated .px file, 
then delete the lock file. 

Often it is necessary to create a 
new major release by checking out a 
file for edit and returning it unchanged 
at the new major release level, srms 
does not provide a way to force the 
check in of an unchanged file. The 
message generated when this is at- 


SEPTEMBER1987 


67 



Hoivv to teD the difiS^Hice 
between I®]SQview'2J0 and 
anj^otha'envmHmient. 



DESQview 


IPGn Uindou 


Procter i 


rtS: [W261 'Procter <1 Gamble Co 


Suitcb Uindou: 
Close Uindou 


lIHTEBfWTIONAL BUSINESS «A 
NCR CORP f S—<1BASE-Ill-Plus 

GENERAL HT 
iJ'i.mil'JCT iUnR 
GREAT ATLA Lena 


LisboTtn 

Bidatb^ 

Garrseit 


rZ—Ventura-Pub 


Help for DESUuieu ? 
Unit OESQuieu Q 


|ihbto.f i Iv/Anfliro 

rb—GrossTa Ik-XU 1-3.61— 


Bialina - 3*Jfr'336lf - Pcie* coni 


S electing DESQview, 
the environment of 
choice, can give you the 
productivity and power 
you crave, without the 
loss of your old pro¬ 
grams and hardware. 

If you like your existing 
programs, want to use 
them together, transfer 
data between them, 
print, sort, communi¬ 
cate with or process- 
in-background, yet still 
have the need to keep 
in place your favorite 
PC(8088, 8086, 80286 
or 80386), DESQview 
is the “proven true” 
multitasking, multi- ^ 

windowing environ- One picture is worth 

ment for you. Best of all, DESQview 2.0 is here now, 
with all the money saving, time saving, and productiv¬ 
ity features that others can only promise for the all- 
too-distant future. 

And with DESQview’s new graphics enhancements 
for Hercules, CGA, EGA, and VGA, Version 2.0 still 
offers the same award winning and pioneering fea¬ 
tures for programs that earned DESQview its leader¬ 
ship, only now you can also run desktop publishing 
programs, CAD programs, even GEM-7 Topview-",” and 
Microsoft Windows-™ specific programs. In some cases 
you’ll add as little as 10-40K to your system overhead. 
Now you can have multi-tasking, multi-windowing, 
break the 640K habit too and still get an auto dialer, 
macros, menus for DOS and, for advanced users, a new 
complete application programmer’s interface capabil¬ 
ity. No wonder that over the years, and especially in 
recent months, DESQview, and now 
DESQview 2.0 have earned extrava¬ 
gant praise from some of the most 
respected magazines in the industry. 

^'Product of the Year'* by readers 
vote in Info World. 

^'Best PC Environment" by popu¬ 
lar vote at Comdex Fall in PC Tech 
Journal’s “System Builder” Contest. 

/ wouldn't want to run an IBM 


or compatible 
computer without 
DESQview"—b\fo- 
World, Michael Miller. 

colossus among 
windowing environ¬ 
ments". .. ''will run 
almost anything"—PC 
Week, Marvin Bryan. 

"Windows, prom¬ 
ises, hut DESQview 
delivers"—MICPO- 
TIMES, Birell Walsh. 

No other environ¬ 
ment has consistently 
pioneered features, open¬ 
ness, and productivity. 
See for yourself. Send in 
the coupon. The possi- 

a thousand promises. endless with 

DESQview 2.0. 

Attention Programmers: For more information 
about Quarterdeck’s API, and future 386 program 
extensions, call us today. 

SYSTEM REQUIREMENTS 

IBM Personal Computer and 100% compatibles (with 8086, 8088,80286 or 80386 
processors) with monochrome or color display; IBM Personal System/2 • Memory: 640K 
recommended; for DESQview itself 0-145K • Expanded Memory (Optional): expanded 
memory boards compatible with the Intel AboveBoard; enhanced expanded memory 
boards compatible with the AST RAMpage • Disk: Two diskette drives or one diskette 
drive and a hard disk • Graphics Card (Optional): Hercules, IBM Color/Graphics (CGA) 
IBM Enhanced Graphics (EGA), IBM Personal System/2 Advanced Graphics (VGA) • 
Mouse (Optional): Mouse Systems, Microsoft and compatibles • Modem for Auto-Dialer 
(Optional): Hayes or Compatible • Operating System: PC-DOS 2.0-3.3; MS-DOS2.0-3.2 • 
^ftware: Most PC-DOS and MS-DOS application programs; programs specific to 
TapView 1.1, GEM 1.1 and Microsoft Windows 1.03 • Media: DESQview 2.0 is available 
on either 5 " or 3*/4" floppy diskettes 


PCT-c 


ilMFO 

WORLD 


REPORT CARD 


DESQview 2.0 


No. of Copies 


Media 31^76^* 

Product 

Retail Price ea 

Ibtal 



DESQview 2.0 

$129.95 

$ 



Shipping & Handling USA 

Outside USA 

$ 5.00 
$ 10.00 

$ 



Sales Thx (CA residents) 

6.6% 

$ 

Payment: 

□ Visa DMC DAMEX □ Check 

Amount 

Enclosed 

$ 


[ Credit Card: Valid Since _ 
Card Number I 


Expiration 


Credit Card Name— 

Shipping Address_ 

City_ 


---.jm. Tblephone_ 

I Mail to: Quarterdeck Office Systems, 150 Pico Boulevard, Santa Monica, CA 90405. 

I NOTE: If you own DESQview call us for a special upgrade offer, or send in your DESQview I 
I registration card. AST Special Edition users included. I 



WSQ 

vie^ 


GKiarterdeck 

Quarterdeck Office Systems • 150 Pico Boulevard, Santa Monica, CA 90405 • (213) 392-9851 


PSmlfrki Office Systems. AboveBoard is a trademark of Intel Corporation. Hayes is a trademark of Hayes Microcomputer Products Inc. IBM, PC, Personal System/2 and TbpView are 

L”atrSma?”ofSSl®h!\nTG''EMSmrm°aX?bS^^^ 


CIRCLE NO. 137 ON READER SERVICE CARD 



















































CODE MODULES 


tempted says only that the operation 
was not performed. 

SRMS is another system that does 
not preserve DOS EOF marks when a 
file is retrieved from the library. In 
addition, an empty line just prior to the 
Ctrl-Z in the original file was deleted 
when the file was retrieved with a get. 

Symbolic version labels are sup¬ 
ported by the sclass program, which 
allows new labels to be defined and 
modules to be added or deleted from 
the association. An explicit revision 
number can be given when adding a 
module or it can default to the latest 
revision. Unfortunately, it is not possi¬ 
ble to add several modules to a class 
with one sclass command. Each mod¬ 
ule is added separately. Class informa¬ 
tion is kept in a classinfo.srm file. 

It is also possible to delete an en¬ 
tire class association. The prompt gen¬ 
erated is a little unnerving, though, 
because it asks if the operator if he 
wants to “delete class and ALL associ¬ 
ated modules.” The manual specifies 
that the actual modules will not be de¬ 
leted, but most users will hesitate be¬ 
fore striking the Y key to continue. A 
cget program retrieves all modules in a 
specified class. This is tremendously 
helpful when rebuilding a prior ver¬ 
sion of a system. Sclass also can display 
a list of all associations in effect for a 
given symbolic version. 

SRMS includes the key-word substi¬ 
tution feature with several key words 
for file ID, revision ID, and time/date 
stamps. The default for a get operation 
is no key-word expansion. This is rea¬ 
sonable because when expanded, key 
words are totally substituted that would 
require editing to put them back if the 
substitution were performed with every 
get operation. The revision description 
log also can be included by get. This is 
accomplished by a command line op¬ 
tion, and the revision description can 
be placed only at the end of the source 
file. SRMS inserts the revision descrip¬ 
tion using comment symbols appropri¬ 
ate for the language in use based on 
the extension of the archive file name. 
A default symbol is used if the exten¬ 
sion is not recognized. 

Several auxiliary programs are pro¬ 
vided for miscellaneous source code 
management operations. Prthis will 
print a revision history for one or sev¬ 
eral modules. This listing shows time/ 
date stamps for the revision, delta in¬ 
formation, and the revision comments. 
The user has no control over format¬ 
ting the output or contents other than 
to specify module names and a date 
qualifier. Srmsinfo generates a listing of 


the state of the srms library with re¬ 
spect to files that are out for editing or 
that are locked. This program does not 
accept a module name as a qualifier. 
When srmsinfo module.c was acciden¬ 
tally run to display information about 
this single module, the program gener¬ 
ated the status report using module.c 
as an output file. This destroyed the 
working copy of this source file in the 
process. All modifications performed 
since it was checked out were lost. 

Sdiff produces a listing of differ¬ 
ences between two revisions of a file, a 
revision in the library and a disk file, 

Ow/ of this competent 
field, TUB and PVCS are set 
apart by their ease of use, 
abundance of features, and 
ability to be configured. 


or two disk files. No utility is available 
to take this difference listing and gen¬ 
erate a new file starting from the base 
file. Smerge can be used to merge two 
revisions of a file into one single file. 

Performance test results for srms 
make it to be average in speed and 
size of the archive. It was the slowest 
system to generate the delta from the 
50KB file in test 3. At least it has a con¬ 
tinual output to the screen so the oper¬ 
ator can track progress. 

Seidl Computer Engineering. The Seidl 
Version Manager (svm) has the most 
rigid requirements for directory struc¬ 
ture of all of the packages reviewed. 
Source code is maintained in a project 
directory. All svm operations must be , 
performed from this directory, svm 
creates three subdirectories: ARCH, 
BASE, and WORK. The ARCH directory 
contains all of the svm library archive 
files. The BASE directory holds a copy 
of the base revision that is used to gen¬ 
erate the delta when a file is checked 
in. The copies of working source files 
are contained in the WORK directory. 
An optional BACK directory can be cre¬ 
ated to hold backup copies of the svm 
archive files, as a safety measure. Most 
activity, such as editing and compiling, 
is performed in the WORK directory. 

To do a get or put operation in WORK 
requires going to the parent directory 
level in order to perform the svm oper¬ 
ations. Such required directory switch¬ 
ing is inconvenient. 


All svm operations can be per¬ 
formed by executing the individual 
programs or by running them from the 
svm menu shell. Individual operations 
are selected from the main menu, 
which causes a submenu for each op¬ 
eration to appear. Additional menus are 
available for entering the required in¬ 
formation for the current operation. 
Some of these present too much infor¬ 
mation. An inexperienced user may 
balk at the description for specifying 
revision numbers in Backus-Naur nota¬ 
tion, or when, in performing a DOS 
command, he has to choose whether it 
is a system command or a program 
command. The text on the menu de¬ 
scribes how system commands will 
load a second copy of DOS, whereas 
program commands simply will run 
quicker because they do not. 

When a file name is needed, a list 
of available choices is obtained by en¬ 
tering *.*. For nonfile name entries, a ? 
is used. During testing, the wrong one 
was chosen, and the result was the cre¬ 
ation of a symbolic version label of ?. 

SVM documentation is confusing 
when it speaks of a file that has been 
modified and not checked in. svm re¬ 
fers to this as a file that is “not 
versioned.” This terminology can be 
confused with symbolic version labels, 
which SVM also supports. 

This system has no user ID mecha¬ 
nism, nor can a lock be placed on any 
file. When a file is retrieved using dget, 
copies are placed in both the WORK 
and BASE direaories. The version in 
the BASE directory is used when dgen 
performs the delta operation. It is from 
the revision of the file in the BASE di- 
reaory that the delta is generated. 
Keeping a copy of revisions in the 
BASE directory speeds up subsequent 
SVM operations. Both dget and dgen 
have options to effea the deposition of 
files in the BASE directory. Unfortu¬ 
nately, no examples are given showing 
the use of these options. Also, to back 
up a system, it is not clear exactly 
which files must be saved. It appears 
that saving the files in the ARCH direc¬ 
tory is sufficient. Library archive files 
are maintained with their read-only at¬ 
tribute set. Both dgen and dget allow 
multiple files to be processed with one 
command. A file retrieved with dget 
receives its original time/date stamp, 
however, the DOS EOF mark is not 
preserved by the system. Branches can 
be created by applying a delta to a 
modified file for which the base revi¬ 
sion is not the tip of the development 
trunk. No program is available for 
merging a branch back into the trunk. 


SEPTEMBER 1987 


69 



CODE MODULES 


When a file is checked in, dgen 
prompts fqr a comment (which can 
have a maximum 2,000 characters); 
however, the fine line editing capabili¬ 
ties available when keying in entries on 
one of the menu screens are not avail¬ 
able when the user enters comment 
lines. After the comment is completed, 
the user can elect to edit the comment 
with a user-specified editor. A user in¬ 
vokes this feature by defining an envi¬ 
ronment variable, EDITOR, to specify 
the editor to run. 

This is the only system that has an 
option to store deltas with compres¬ 
sion. The documentation claims a 30- 
to 70-percent storage reduction. Test 3 
was run in both normal and com¬ 
pressed mode. The archive file in com¬ 
pressed mode was 34-percent smaller. 
However, a time penalty is incurred 
when running dget and dgen, which 
means almost doubling of the time to 
perform the delta during test 3. The 
compression algorithm uses Huffman 
encoding with tables selected for spe¬ 
cific languages based on file extension. 

svM allows up to 100 threads to be 
defined. This is the name used to refer 
to a symbolic version label. Individual 
modules can be assigned and unas¬ 
signed to these threads using dgen. 
Symbolic version names that can be 
associated with the threads are stored 
in the VERSION.LOG file. This is a 
read-only ASCII text file that is located 
in the project directory, that is, the par¬ 
ent of ARCH, BASE, and WORK This is 
generally the only file in that direaory. 
Documentation is provided on the for¬ 
mat of this file, which can be edited if 
the read-only attribute is cleared. Sym¬ 
bolic version names can be used in 
place of revision numbers to specify 
files for dget. svm also comes with a 
program called dmake, which is used 
for analyzing versions and extracting 
source revisions from svm. Dmake com¬ 
municates information to Seidl’s SMK 
automatic program builder about what 
must be done to build the program. 

The report generation capability in 
SVM is the best of any of the products 
reviewed. The dlist program gives full 
control over the items of information 
that will be displayed. The user also 
has control over pagination of the out¬ 
put and a footer can be specified to be 
printed with the report. If spaces are in 
the footer, the entire option, including 
the -FMT = introducer, must be en¬ 
closed in quotes, such as “-FMT = This 
is the footer”. This is rather unusual 
syntax for a command line option. This 
footer can, alternatively, be declared in 
the environment variable DLISTFTR 


svm’s delta detection algorithm 
exhibited the same problem with some 
files that was seen with version 1.3 of 
pvcs. A large increase in the size of an 
archive file can result from small 
changes in a file that has only one 
unique line. No problems were found 
with any other files tested, svm has the 
fastest times for tests 1 and 2, and it 
executed test 3 very quickly as well. 

The close correspondence of this time 
with the execution time for pvcs in test 
3 along with the similar archive size 
anomaly indicates that the systems may 
use similar delta detection algorithms. 
Test 3 shows a 34-percent reduction in 
archive size when compaction is used. 
Also, note that some file compression 
is achieved in the normal case as well 
since the archive file after two deltas 
(46,198 bytes) is smaller than the origi¬ 
nal file. Surprisingly, the time for oper¬ 
ation when compaction is performed is 
shorter than for the normd case. 

RESOURCEFUL 

All of these products provide the basic 
functions necessary to source code 
management. Some are more cumber¬ 
some to use than others, requiring spe¬ 
cial direaory arrangements and special 
care in file naming, and each has its 
shortcomings. Out of this competent 
field, the two best packages are Burton 
Systems’ tub and Polytron’s pvcs, so 
designated because of their ease of use, 
abundance of features, and ability to be 
configured by the user. 

TUB is an excellent SCMS overall. 

Its archive file sizes are small and the 
speed of operation is very good. User 
configuration control gives the capabil¬ 
ity to adjust most features of the system 
for particular projea needs. It is only 
lacking in some features, such as multi- 
line editable revision descriptions and 
support for branches or a frill set of 
key words. Without question, if'price is 
a strong determining faaor in selection 
of a system, tub cannot be beat. 

In terms of features, pvcs provides 
everything necessary to a large mul¬ 
tiprogrammer projea—more than any 
other package reviewed. No restrictions 
are placed in the development environ¬ 
ment and all aspects of operation can 
be customized for specific project 
needs. Power has a price, however, as 
PVCS is the most expensive purchase. 
However, its performance was also 
above average in all three sets. 

No matter which package is se- 
leaed, its usefulness is only as good as 
the discipline a single programmer or 
, an entire programming staff is willing 
to exert in continuous source code 


maintenance. Often, team members 
balk at the level of control imposed on 
them and try to finds ways to bypass 
the system. This might help solve a 
near-term problem but can create seri¬ 
ous headaches in the future. If team 
members can see the advantages of an 
SCMS—that it increases productivity 
and is easy to use—they will be more 
inclined to use it. Certainly, any one of 
the reviewed systems is more produc¬ 
tive than manually maintaining changes 
to source code. I nimuiiii BBI 

Burton Systems Software 
RO. Box 4156 
Cary, NC 27519-4156 
TUB 3.0 
9191469-3068 

CIRCLE 347 ON READER SERVICE CARD, 

Datalight, Inc. 

17505 68th Avenue NE 
Suite 304 
Bothel, WA 98011 
BRICKS 1.23 

8001221-6630; 2061486-5226 
CIRCLE 348 ON READER SERVICE CARD 

H & S Associates 
1335 Hotel Circle S 
Suite 206 

San Diego, CA 92108 
Source Code Interactive Librarian 
(SCIL) 1.24 
6191692-9464 

CIRCLE 349 ON READER SERVICE CARD 

Polytron Corporation 
1815 N.W. 169th Place 
Suite 2110 

Beaverton, OR 97006 
Polytron Version Control System 
(PVCS) 3.0 

8001547-4000; 503/645-1150 

CIRCLE 350 ON READER SERVICE CARD 

Quilt Computing 
7048 Stratford Road 
Woodbury, MN 55125 
Software Revision Management System 
(SRMS) 3.0 
612/739-4650 

CIRCLE 351 ON READER SERVICE CARD 

Seidl Computer Engineering 
3106 Hilltop Drive 
Ann Arbor, MI 48103 
Seidl Version Manager (SVM) 1.05 
313 / 662-8086 

CIRCLE 352 ON READER SERVICE CARD 


Jim Vallino is a PC programmer with more 
than a decade of experience in the areas of 
microcoding high-level applications, and 
assembly language programming. 

PC TECH JOURNAL 


70 



Recent PC 
announcetnents 
have left 
Cai5)aq 
inan 
enviaHe 
poatkB. 





StiUthe 

performance leader 


12-MHz COMPAQ PORTABLE III 
is the smallest, most powerful full-function portable there is. 


different storage devices on all 
COMPAQ desktops. 

Examine compatibility. We 
let you use all the industry- 
standard software and ex¬ 
pansion boards that you 
already own. 


Demand for the 12-MHz 
COMPAQ DESKPRO 286 has nearly 
doubled since the PS/2 introduction. 


I n the midst of the 
clamor surroimding the 
new IBM® PS/2 personal 
computers, one thing is 
perfectly clear to people 
who really know PC's. 
COMPAQ® personal comput¬ 
ers stiU work better. They 
enhance your produc¬ 
tivity within 
the industry 
standard, and 
give you maxi¬ 
mum perform¬ 
ance from the 
world's largest 
library of busi¬ 
ness software. 


COMPAQ personal com¬ 
puters prove superior in overall 
performance. 

Take speed. The COMPAQ 
DESKPRO 286® runs your soft¬ 
ware up to 20% faster than its 
PS/2™ counterpart. And, the 
COMPAQ DESKPRO 386™ 
sets all records for speed in 
advanced-technology, industry- 
standard personal computers. 

Consider flexibility. Compaq 
offers 5V4" diskette drives, and 
allows you to add 3V2" drives. 
In fact, you can add up to four 


Look at expandability. Our 
industry-standard slots enable 
you to add many extra func¬ 
tions. So you can 
configure your sys¬ 
tem exactly the way 
you want it. 

Finally, compare 
portability. You 
can't. The 12-MHz 
80286-based 
COMPAQ 
PORTABLE III™ 
is the imdisputed 
leader. It offers the 



performance of a desk¬ 
top without any of the 
compromises you'll find 

in other portables. 

Compaq applies 
innovative technology 
within the industry 
standard, without sac¬ 
rificing compatibility. 



DESKFiC .. 

386/130 dESKPF._ 

286^40 Model80-71 ,bmp^_ 

Model 50 

COMPAQ 
fixed disk drives 
can access data up to 2 V 2 
times faster than PS/2 drives. 


Earn higher returns 
on your investment 

American business has 
$80 billion invested in 


It still simply works better. 


IBM, OS/2 and PS/2 are trademarks of International Business Machines Corporation. MS OS/2 is a product of Microsoft Corporation. 
©1987 Compaq Computer Corporation. All rights reserved. 



















works better: 


Two-way compatibility 



Compaq has be¬ 
come famous for 
its legendary 
compatibility 
and connectiv¬ 
ity. Our per¬ 
sonal computers 
will run thou¬ 
sands of pro- 


the current PC standard, in¬ 
cluding 72 million software 
and hardware products, and 
himdreds of millions of hours 
in training. 

Compaq designs its comput¬ 
ers to protect your investment. 
And because they do more, 
they also maximize it. 


The COMPAQ 
DESKPRO 386 
sets the standard 
for high-performance, 
advanced-technology 
desktop computing. 


grams, without modifi¬ 
cation, far faster than 
other computers. And 
they work with all the other 
compatible computers in your 
office, without time-consuming 
diskette conversions. 

As for the future, all 80286- 
and 80386-powered COMPAQ 
personal computers will run 
the new MS OS/2 operating 
system, allowing you to di¬ 
rectly access up to 16 mega¬ 


bytes of memory. And they'll 
run all the applications de¬ 
veloped for OS/2™. Again, 
much faster. 

We don't burn bridges, 
we build them 

At Compaq, advances are mea¬ 
sured by our ability to push 
technology forward, without 
leaving you behind. 



The new 
MS OS/2 oper¬ 
ating system will run 
on all 80286- and 80386- 
based COMPAQ personal computers. 


COMPAQ computers let you 
incorporate developing technol¬ 
ogy, and take advantage of the 
latest technology in a way that's 
fully compatible with the hard¬ 
ware, software and add-ons 
you already own. So Compaq 
protects your investment. 

These are all reasons why 
recent surveys show COMPAQ 
owners are the most satisfied 
personal computer users. 

Call 1-800-231-0900, operator 
39, for inf ormation and the loca¬ 
tion of your nearest Authorized 
COMPAQ Computer Dealer. In 
Canada, call 416-449-8741. 


comPAa 










This extensive set of metrics to test piinting 
capabilities determines how laser printers 
m^psure tip to the HP standard. 












i^'ASC> 


'0&Mi 




4 


















m 






honed the standard for sophisticated 
desktop printing applications with its 
LaserJet Series 11. However, it changed 
very little of the original printer com¬ 
mand language (PCL) that the com¬ 
puter uses to drive the printer. HP’s 
PCL has become a standard just as the 
Hayes AT modem command language 
is the standard in communications. 

Many other manufacturers, have 
introduced laser printers that compete 
with and try to improve oh the original 
LaserJet models. PC Tech Journal has 
developed a set of software metrics, 
presented here, to rate the plethora of 
available printers against the HP stan¬ 
dard. A companion article immediately 
following this one describes how other 
printers measure up to the HP standard 
Csee “Hiser Performance," Rainer 
McCown and Heeth Clark, p. 100). 


S ince their introduction in 1984, 
laser printers have made the tran¬ 
sition from a luxur>^ to a eommod- 
ity item. The majoriy of users now in¬ 
stall laser printers as high-speed re¬ 
placements for daisy wheel and other 
letter-equality printers. In this senace 
they perform admirably, but much of 
their talent lies untapped. Working in 
tandem with desktop publishing sys¬ 
tems, laser printers are capable of pro¬ 
ducing printed documents far more 
sophi.sticated than those ejected by or- 
dinar\' letter-quality printers. 

Hewlett-Packard was responsible 
for introducing the laser printer to the 
PC world; its line is the most prevalent 
and is considered the standard by 
which all others are judged. First to 
corne on the scene was the HP Lasetjet, 
followed by the biserjet+. Recently, HP 




234;56189 '123456789 


23456789 1 23456789 I2%6789 


PI 10T0GRAI>UY * LIGUTSTRUCK STUtyOS 































































































LASER METRICS 


THE LASER ENGINE 

The laser printer is a byproduct of the 
personal copier industry. Laser printers 
are part of a larger class of printers 
that use a toner transferred to a 
charged paper or drum. Electrostatic 
printers, such as the Versatec, are the 
ancestors of their class, and ion deposi¬ 
tion or LED array printers could be 
considered the next generation. 

The laser print engine combines a 
photoconducting drum illuminated by a 
semiconductor laser (instead of re¬ 
flected light) with a copier-style paper 
handler and toner application and 
fusing system. Because the photocon¬ 
ducting drum (often called the OPC for 
organic photoconduaing cartridge) has 
a circumference of less than the length 
of a sheet of paper, it is cleaned, ini¬ 
tialized, and rewritten several times for 
each sheet of paper passing through it. 

The OPC is charged by a corona 
wire and then discharged by the laser 
signal. Depending on the type of toner 
required by the laser engine, the toner 
adheres either to the area written by 
the laser (write-black) or to the area 
not written (write-white). In the write- 
black system the OPC is discharged; the 
laser charges the OPC where black 
images are required. In the write-white 
system the OPC is charged to attract 
the toner over the whole cartridge; the 
laser then discharges those areas where 
black is not desired. The paper is 
charged to attract the toner away from 
the OPC. In both designs the fuser 
roller applies heat and pressure to 
bond the toner to the paper. (The HP 
LaserJet series are write-black systems.) 

The laser printer toner is similar 
to plain paper copier toners. The for¬ 
mulation of the toner is different with 
each manufacturer but can be thought 
of as a fine powder composed of two 
parts: a colored substance such as car¬ 
bon for black toner and a wax-like 
resin that melts when heated, fusing 
the carbon together, and onto the 
paper. The toner comes in positive or 
negative polarity, which describes how 
it is attracted to the OPC. It also is 
available in different grain sizes, which 
limits the ultimate resolution. The 
smaller grain size of a very fine toner 
is harder to control and is messy to 
refill. Only one type of toner is avail¬ 
able for any given laser printer. 

The various types of toners are 
optimized for different types of print¬ 
ing. The toner in the Canon cartridge 
used in the LaserJet series is very fine 
grained and produces a flat, high-reso¬ 
lution output very similar to offset 
printing. The toner used by the 


6-page-per-minute Ricoh engine has a 
thicker, almost plastic consistency that 
gives the output an engraved appear¬ 
ance; the black areas are solid and 
slighdy shiny with excellent coverage 
of even large areas; however, fine de¬ 
tails are less perfect than they would 
be with a finer-grained toner. 

The write-white system produces 
darker and more consistent blacks 
whereas the write-black system pro¬ 
duces better detail. Detail is increas¬ 
ingly important when printing charac¬ 
ters that use very thin lines. A single 
dot in a write-white system is reduced 
by about 20 percent from the defined 

*\he intended application 
should drive laser printer 
selection. Some printers offer 
better text performance, 
some better graphics. 


size of 1/300 of an inch, while in a 
write-black system, as used by the HP 
LaserJets, the size is increased by about 
20 percent. This variation makes a no¬ 
ticeable difference in gray shading and 
fine detail of the printed page. 

Laser printer technology, as with 
any new technology, uses many new 
words. Most of these words are bor¬ 
rowed from the typesetting industry. 
Font is the size and shape of the char¬ 
acters in a character set. T)pe-style is a 
font shape regardless of size. Dot¬ 
matrix printers produce simple, reada¬ 
ble characters but provide no flexibility 
in the character shape. Daisy-wheel 
printers have optional printing ele¬ 
ments that add a range of charaaer 
shapes but little size variation. Laser 
printers can change both the size and 
the shape of each character. 

Measurements traditionally used 
by the printing industry have been 
adopted into laser printer terminology. 
One inch is divided into 72.27 points, 
and one pica is 12 points. Point sizes 
describe proportionally spaced fonts, 
and characters per inch describe fixed 
spacing fonts. Point sizes vary from 
subscripts of 5 or 6 points to titles of 
20 or 30 points. The size for most text 
is 10 to 12 points which have roughly 
the same size characters as 12- and 10- 
pitch characters, respectively. 

The terms portrait and landscape 
refer to the orientation of print on 


paper. In portrait mode, text lines are 
horizontal along the paper’s short di¬ 
mension; in landscape text is read on 
the long dimension. 

PRINTER TRADEOFFS 

In selecting a laser printer, the user 
must consider many variables; some 
printers may offer better text perfor¬ 
mance, some better graphics perfor¬ 
mance. Also to be evaluated are printer 
memory, interfacing between printer 
and computer, paper quality and size, 
maintenance, and multipass printing. 
Character quality. One of the primary 
motivations for purchasing a laser 
printer is character quality. Figure 1 
shows the quality of a character from 
three different sources. The first sam¬ 
ple is from an IBM Proprinter in near¬ 
letter-quality mode. Because each dot is 
printed by a round wire striking the 
paper, the individual dots remain visi¬ 
ble and the paper is dimpled, giving it 
a slightly coarser appearance. 

The HP LaserJet sample shows 
only slightly higher resolution, but the 
characters have a smoother, more solid 
shape than the Proprinter’s. After the 
dots used to form the characters are 
deposited on the OPC, the entire char¬ 
acter shape picks up the toner and is 
fused to the paper at one time. Resolu¬ 
tion varies from printer to printer, pri¬ 
marily due to the type of printing sys¬ 
tem used (write-white or write-black) 
and a combination of toner formula¬ 
tions. The high contrast of the black 
toner sitting on top of the paper also 
results in laser printouts having an 
embossed appearance. 

By way of comparison, photo¬ 
typesetters use a much higher resolu¬ 
tion with high contrast to produce the 
definitive image; during the printing 
process the printer’s ink smoothes the 
edges of the characters. 

Printer memory. Each text charaaer on 
a page requires 4.25 bytes of printer 
memory. A raster graphic requires a 
single bit of memory for each bit of 
the graphic. Soft fonts (those that are 
downloaded from the computer) are 
stored in the printer’s memory where 
they can be referenced later. During 
the printing process, after a page has 
been downloaded and the printer is 
actually printing, any available spare 
memory is used as a print spooler al¬ 
lowing the next page to be input while 
the current page is being printed. 

Laser printers are page printers, 
meaning that the entire page of data 
must be in the printer’s memory be¬ 
fore it can be printed. A standard 8.5- 
by-11-inch page at 300 dots per inch 


76 


PC TECH JOURNAL 



(dpi) consumes about 1MB of memory. 
The printer automatically ejects a full 
printed page, or if the memory on the 
printer is full before the full page is 
sent to it, a page is ejected. Printing a 
sentence, a short list, or a screen re¬ 
quires the operator to force the page 
to eject. This can be done by pushing a 
sequence of buttons on the printer, by 
software commands (for example, form 
feed or print page), by filling the print¬ 
er’s memory, by sending a carriage re¬ 
turn when at the bottom of the page, 
or by changing the printer’s modes 
(such as switching from portrait to 
landscape mode). 

The original HP LaserJet has lim¬ 
ited raster graphic capability due to 
insufficient memory. It does not have 
built-in vector graphics functions to 
draw lines, boxes, and circles, although 
some other early laser printers do. The 
HP LaserJet Series II offers an optional 
memory expansion module with 
enough memory for a full page of 
pixel data at the highest resolution of 
300 dpi. Most current desktop publish¬ 
ing packages need 512KB of memory. 
Any printer that does not have this 
minimum amount is not likely to be 
fully functional with its emulation. 
Interfacing. The three different meth¬ 
ods of interfacing a printer to a PC are 
serial, parallel, and direct memory ac¬ 
cess (DMA). The original LaserJet print¬ 
ers had a serial interface to be more 
compatible with the older daisy-wheel 
printers, but a parallel interface was 
available as an option. The Series II has 
both interfaces as standard. A DMA 
printer must be supplied with special 
driver software before tlie standard PC 
operating system can drive it. 

DOS assumes that printers use a 
parallel interface. The DOS provisions 
for serial printers are not very effective 
and can be used only if the software 
allows DOS to control the printer 
(most word processors and all print 
spoolers do not). A parallel interface is 
capable of speeds of 100KB per sec¬ 
ond, although the actual rate is usually 
limited by software and is quite a bit 
slower than the maximum hardware 
rate. It is nonetheless usually consider¬ 
ably faster than using a serial interface. 

The IBM parallel printer interface 
is a superset of the Centronics proto¬ 
col, which provides for only a few sta¬ 
tus signals to be returned to the com¬ 
puter. This lack of status signals is 
made worse because so many of the 
compatible printer boards, do not emu¬ 
late the full IBM printer interface stan¬ 
dard but only the Centronics subset. 
This lack of information reduces the 



The dot-matrix output from the IBM 
Proprinter is improved on by the HP 
laser printer, but the quality does not 
compare with that of the same charac¬ 
ter produced by a phototypesetter. 


corrective action that a program on the 
PC can take to control the printer. 

A serial interface is bidirectional. 
Status and error messages can be sent 
to the PC from the printer in the sanne 
way as in the Apple LaserWriter and 
other Postscript printers. The LaserJet 
printers do not send any data back to 
die PC except for XON/XOFF flow con¬ 
trol. Using a serial interface provides 
greater flexibility in printer location; a 
printer can even be driven remotely via 
modem (after the connection is first 
established using a regular communica¬ 
tions package). Cable lengths of 50 feet 
are specified but can be stretched with 
inexpensive line drivers. 

A serial interface is much slower 
than a parallel interface. Using a serial 
interface connected at 9,600 bits per 
second (bps) requires more dian 18 
minutes just to transfer the data to the 
printer. A page of text, usually less than 
5,000 characters, takes 5 seconds to 
transfer to a serial text printer. 

The DMA interface, such as used 
by the Tall Tree’s JLaser card, is the fas¬ 
test interface. Adding a JLaser card can 
turn the earlier LaserJets (or any other 
Canon LBP-CX engine-based printer) 
into a DMA printer; the printer elec¬ 
tronics and memory are moved into 
the PC, leaving the printer to serve 
only as the mechanical print engine. 
This approach uses the PC’s processor 
to set up a page to be printed, often 
dipping into expanded memory to 
store the page of printout. The data are 
sent to the printer at die actual print 
rate (.94 Mbits per second). 

The disadvantages of this approach 
are several. Moving the printer to an¬ 


other machine is much more compli¬ 
cated than moving a cable. Modem 
connections are impossible, because 
there is no serial interface. The PC pro¬ 
cessor is dedicated during the printing 
cycle and special drivers must be in¬ 
stalled to make the DMA interface ap¬ 
pear like a normal printer to the soft¬ 
ware. Some software packages, such as 
Xerox Ventura Publisher and Z-Soft 
Publisher’s Paintbrush, supply drivers 
for the JLaser’s DMA interface. 

Paper quality. Copier technology was 
adapted for the early personal laser 
printers; thus die paper handling limi¬ 
tations of copiers were transferred to 
laser printers. The mechanical paper 
handling, the toner adherence, and die 
heat fusion process place restrictions 
on the media used. Copier paper (20- 
pound bond) works well in laser print¬ 
ers. Slightly thinner (15-18 pound) to 
slightly heavier (30-35 pound) paper 
also can be used. More expensive 
paper, such as that used for letterhead, 
with 25-percent cotton and slight tex¬ 
turing, also works well. Papers specially 
designed for laser printers have a clay, 
varnish, or plastic coating to give excel¬ 
lent, eye-pleasing results. 

Labels, viewgraphs, envelopes, and 
heavy paper require a straight-through 
paper path. Both the LaserJet and Laser¬ 
Jet-1- printers provide this path using a 
single sheet input slot in the rear of 
the printer with the printed paper 
ejecting out the front. On the Series II 
printer, however, this is reversed. The 
Series II has an optional straight- 
through output slot in the rear, and the 
paper is fed in from the front. 

In the original LaserJet, the paper 
emerges with the print side up, so a 
document is produced with the first 
sheet at the bottom of the pile. A 
glance at the paper output pile reveals 
the progress of the printout and 
quickly shows any problems such as 
printing too light, too dark, or running 
out of toner. The Series II printer out¬ 
puts the paper upside down so the 
final document when removed (and 
turned over) is in the correct order, 
but gone is the convenience of visual 
access during the printing process. 
Paper size. The current crop of laser 
printers is designed to print on pages 
tliat are 8.5 inches wide. Because the 
OPC drum circumference is less than 
the page lengtli, the printer uses multi¬ 
ple drum revolutions during one print 
cycle. Thus, there is no mechanical 
limit to the length of the paper that 
can be printed, but the internal mem¬ 
ory and electronics of these printers 
limit the paper length to 14 inches. If 


SEPTEMBER 1987 


77 

















In overall laser prmtii^ we were rated over all* 



But don’t take our word for it. 

After all, Personal Computing pronounced our 
F2010 . a printer with which [they] can live hap¬ 

pily ever after.” And Office Machine News , after 
reviewing both the FlOlO and F2010, recently 
named Kyocera their manufacturer of the year. 

We must admit we’re pretty proud. Not only 
of the industry praise, but the quality of 
our printers that earned such 
recognition. 

First, Kyocera’s line of laser 
printers offers users the 
utmost in versatility. Our 
variety of emulation 
modes enables compati' 

bility with virtually all IBIWBBBi 




CIRCLE NO. 241 ON READER .SERVICE CARD 






LASER METRICS 

continuous forms are tried, the printer 
assumes the paper has jammed. 

Printers are designed to leave a 
margin on all four sides of the paper. 
The Canon 300-dpi engine (used in the 
HP printers) has a nonprinting margin 
of 48 dots on the left side of the paper, 
95 dots on the right side of the paper, 
and 60 dots each at the top and bot¬ 
tom. On 8.5-by-l 1-inch paper, the effec¬ 
tive print area is 2,407 dots by 3,180 
dots (4,080 on 14-inch paper). Thus, 
the total number of dots displayable is 
7,569,182, or 946,147 bytes of data 
(1,227,570 bytes on a 14-inch page). 
Maintenance. Just, as dot-matrix printers 
have ribbons that must be changed, 
laser printers also have “expendables.” 
The Canon EP cartridge used by the 
LaserJets and other Canon-engine laser 
printers is the most popular mecha¬ 
nism for handling the toner and OPC 
drum. The cartridge is a one-piece unit 
that prevents the toner from spilling. 
Many other printers separate the toner 
from the OPC drum; the toner is con¬ 
tained in a bottle and must be poured 
in, increasing the risk of spillage. 

Separating the toner and OPC re¬ 
sults in very litde cost savings. The 
Canon cartridge lists for $115 and is 
good for about 3,000 copies. Some 
companies refill a cartridge for about 
half the price of a new one, or it can 
be refilled in-house for $20 or less. 

This refilling is possible because the 
OPC drum lasts two to three times 
longer than the toner. The new LaserJet 
Series II cartridge increases the toner 
supply and decreases the OPC drum 
size to result in a matching life span. 

The Canon cartridge system has 
additional advantages; Before moving 
the printer, the Canon cartridge can be 
removed, whereas the loose toner sys¬ 
tems can create a mess. Also, cartridges 
have clear advantages for occasional 
color output. Canon offers a brown and 
a black toner cartridge! Apple offers 
several color cartridges that can be 
used in the LaserJet. Some of the refill¬ 
ing services offer color refills. 

Multipass printing. The multipass capa¬ 
bility allows for double-sided and mul¬ 
ticolor printing. This capability can be 
used for merging text with graphics or 
for filling in preprinted forms. Print 
registration on the page is important 
for multipass printing, but most PC 
laser printer paper-feed mechanisms 
commonly allow variations of 10-pixel 
diameters, which renders multipass 
printing somewhat less effective. 

Furthermore, the first pass through 
the printer changes the physical charac¬ 
teristics of the paper, and subsequent 


passes tend to wrinkle or jam the 
paper. The fuser roller dries out the 
paper as it heats it making it less plia¬ 
ble when it passes through the rollers 
again. Letting the paper relax and ab¬ 
sorb water from the air after the first 
printing greatly improves multipass 
printing. The relaxation period varies 
greatly with the temperature, the hu¬ 
midity, and the particular printer. 

LASERJET COMPATIBILITY 

The PC Tech Journal LaserJet Software 
Metrics perform three functions: they 
identify the hardware differences, in¬ 
cluding resolution, speed, page size, 

’Personalpublishing soft¬ 
ware only hints at laser 
printer capability. It does 
not produce, professional 
typeset quality output. 


and coverage (the amount of the page 
that can be printed on), between the 
LaserJet standard and other com¬ 
patibles; they describe the capabilities 
of the LaserJet printers; and they verify 
the software compatibility of all 
LaserJet-compatible printers. The sub¬ 
routines are listed in MISS.C (listing 1). 

Each of the programs in the Laser¬ 
Jet Metrics series tests at least one basic 
function. Other funaions are also exer¬ 
cised to demonstrate interactions be¬ 
tween functions. At minimum, the com¬ 
patible printer should meet the HP 
standard for a specific function. The 
manner in which a printer exceeds the 
standard should be considered at two 
levels. If better performance results, 
such as the ability to print more fonts 
on a page, then exceeding the standard 
is worthwhile. If only the applications 
developer benefits, then a dangerous 
situation could develop. For example, 
the LaserJets allow two levels of nesting 
of their macros; some compatible print¬ 
ers may allow more. A developer who 
writes an application to include more 
than these two levels cannot assume it 
will run on the LaserJet, although it 
may run on an HP-compatible. 

LaserJet drivers are included with 
most of the popular software packages. 
WordPerfect, Microsoft Word, Lotus 
1-2-3, Lotus Freelance, Publisher’s Paint¬ 
brush, Software Publishing’s Harvard 
Professional Publisher, Aldus Page¬ 


maker, and Ventura Publisher were 
tested against the HP LaserJets. These 
personal publishing software packages 
only hint at the capabilities of laser 
printers; they do not currentiy produce 
professional typeset-quality output. 

Fully capable typesetting packages are 
just now becoming available for PC 
operation, as typified by the public 
domain TgX program. A TgX compiler 
was used to generate some of the sam¬ 
ple data files for this article. 

The LaserJet Metrics test the five 
sets of command extensions built into 
the LaserJet printers: macros, push/pop, 
rules and patterns, raster graphics, and 
downloadable fonts. Tests also are in¬ 
cluded for printable page size and 
page complexity. No test was devised 
for the HP hardware font cartridges 
because they are proprietary. To run 
the metrics, the executable file should 
redirect the output to the printer 
port using the DOS redirector (>). 

All of the outputs shown in the fig¬ 
ures are from the HP LaserJet printers. 
The following article shows some of 
the outputs from HP-compatible print¬ 
ers. Due to the nature of printing tech¬ 
nology, the laser outputs could not be 
accurately reproduced in all cases. 
Subtle differences in resolution and . 
shading may appear more distinct in 
actual laser output than as reproduced 
here. For space considerations, the out¬ 
put in the figures may not have exactly 
the same layout as the actual output 
produced by the metrics. 

Macros. A macro is a single or a group 
of commands given a single name and 
executed as a unit. Each macro is as¬ 
signed an ID number. HP does not 
specify^ a range of numbers to be used 
for this purpose, but during testing the 
LaserJet accepted a variety of numbers, 
including —1, 0, and 32768. 

The program MACRO.C (listing 2) 
tests various aspects of using macros. 
These include calling a macro from 
within another macro and nesting mac¬ 
ros (that is, calling a macro that calls 
another macro). Because HP states in 
its Series II documentation that it sup¬ 
ports only two levels of nesting, the 
metric also tests how the printer re¬ 
sponds when asked to do three levels 
of nesting. A recursive test of calling a 
macro from itself also is included. 

The test results for this metric are 
shown in figure 2. The program first 
defines three macros: macro number 1 
generates an open box, number 2 gen¬ 
erates an I-shaped bar, and number 0 
generates a solid box. Next the pro¬ 
gram defines macro number 3, which 
consists of positioning the cursor and 


SEPTEMBER 1987 


79 



LASER METRICS 


I FIGURE 2; Macro Output 



The PCL allows the definition of macros. Only two levels of nesting are sup¬ 
ported. Requests made to the third level of nesting are ignored by the HP. 


calling macro number 1, repositioning 
the cursor, calling macro number 2, 
repositioning the cursor and calling 
macro number 1 again. This results in 
an image of an I-bar with two open 
boxes on either side of it. In testing 
two levels of nesting, macro number 
32768 calls macros 0, 2, and 3, result¬ 
ing in a solid box, followed by the 
I-bar, followed by the I-bar again with 
two open boxes on either side. 

The program next tests the re¬ 
sponse of the printer when it is asked 
to perform more than two levels of 
nesting. The cursor position is set and 
macro 6 is executed. This prints the 
number 6 and calls macro 7, which 
prints the number 7 and calls macro 8, 
which prints the number 8 and calls 
macro number 9. Because the LaserJet 
supports only two levels of nesting, 
macro 9 is not called; instead, the 
macro returns and finishes macro 8 by 
printing the letter c, followed by macro 
7 and macro 6, which print the letters 
b and a, respectively. Note that when 
the LaserJet prints a text character it 
increments the cursor position so that 
the next character is not printed on top 
of the first. On a printer that can sup¬ 
port additional levels of nesting, macro 
number 9 would be executed, printing 
the number 9 and letter d. 

In order to test the maximum 
number of levels that can be sup¬ 


ported, MACRO.C includes a recursive 
macro test in which macro number 10 
positions the cursor, prints the number 
10 and then calls macro number 10 
again. On the LaserJet machines this 
test terminates as expected after three 
times (two levels of nesting). 

MACRO.C performs two more 
tests. Macro number 11 sends its defi¬ 
nition to the printer (print the number 
11), redefines itself (move cursor and 
print the number 11), and then sends 
the new definition to the printer. The 
macro is redefined three times before 
ending by printing the letter / Series II 
documentation indicates this function is 
not be supported, but it performed the 
test as written. The final MACRO.C test 
simply defined and executed a macro 
with the ID number -1. 

Push/Pop. The program, PUSHPOP.C 
(listing 3), tests the functioning of the 
PUSH and POP commands and demon¬ 
strates what happens when the maxi¬ 
mum number of pushes is exceeded. 
The PUSH command is used to save 
the current X and Y locations on a 
stack that is 20 values deep. The POP 
command then recovers each saved 
location in a last-in, first-out sequence. 

PUSHPOP.C first builds a raster 
graphics box in a macro for use later. 

It then positions the cursor, saves the 
current cursor location using the PUSH 
command, and then executes the 


macro, drawing a box at the current 
location. The cursor is then moved to 
the right and anotlier PUSH command 
is executed. This pushes the first cursor 
location down a level and stores the 
second cursor location on top. Using 
the current cursor location, the macro 
is executed drawing another box. This 
sequence is repeated until 22 boxes 
appear across the page. A total of 21 
PUSH commands have been executed. 

The LaserJet can handle only 20 
levels of pushing, however, so to deter¬ 
mine the effect of an extra push, the 
stored locations are popped in turn 
and an incrementing text number is 
printed at those locations. As shown in 
figure 3, the LaserJet ignored the PUSH 
command after the twentieth level; 
thus, when the first POP command is 
executed, the current cursor location is 
tlie tv^^entieth square across the page 
and the number 01 is printed in that 
square. The next POP command moves 
the cursor one square to die left and 
die number 02 is printed. The twenti¬ 
eth POP command gives the location of 
the leftmost square and the number 20 
is printed. The twenty-first POP com¬ 
mand has no effect, so the number 21 
is printed on die next line. 

A printer that is not HP compatible 
may continue to accept pushes beyond 
the 20-level limit, causing the numbers 
to appear in a square to die right of 
their correct position, or it may replace 
the last stored cursor location with the 
extra PUSH command’s location caus¬ 
ing only die first number to be in an 
unexpected position. 

Complexity. Because of memory limita¬ 
tions, LaserJet printers format the line 
of dots for die laser in realtime (as it is 
actually printing the page) from all of 
die objects (characters, raster graphics, 
rules, macros, etc.) that are specified 
for that line of the page. The page that 
is sent to the printer page is not neces¬ 
sarily a page of dots, but can also con¬ 
sist of rules, macros, or characters that 
have to be translated by the micropro¬ 
cessor on the printer itself When the 
internal microprocessor can no longer 
keep up, the printer reaches its com¬ 
plexity limit. HP explains that certain 
parameters, such as macros and vertical 
lines, are more processing intensive 
than others. The complexity test pro¬ 
gram, COMPLEX.C (listing 4), prints a 
large number of vertical rules on a 
page; the rules start at various vertical 
offsets gradually increasing the com¬ 
plexity to beyond the printer’s limit. 

The LaserJet reaches its limit when 
this test is performed (see figure 4). 

The printer signals an error message 


80 


PC TECH JOURNAL 


































I FIGURE 3; PUSH/POP Output 



In the PUSH/POP metric, the 22 graphics boxes are specified on the page first. 
The LaserJet supports only up to 20 pushes and then ignores the twenty-first 
push. This means that the number 01 prints in the twentieth square, and the 
number 21 prints on the next line. This metric is found in listing 3. 



Complexity is one of the areas in which a compatible printer can improve on the 
HP standard. The HP printers reach their limit after printing only the top portion 
of the full design created by the complexity metric. The correct output for this 
metric is two parallelograms as shown here; the HP’s attempt is shown in the 
tinted area. It gives an error message, rejects the page, and must be reset manually. 


and ejects the page, necessitating man¬ 
ual resetting of the computer, particu¬ 
larly undesirable in a network where 
the error message may not be appar¬ 
ent. Reducing the complexity of the 
page produces the problem at a point 
where more of the page has printed 
before the error message occurs. 

Complexity is one of the areas in 
which a compatible printer can im¬ 
prove on the HP standard. However, a 
page laid out on the compatible ma¬ 
chine will not necessarily print on the 
LaserJet. Because the specification of 
complexity is vague, no other printer 
can be totally compatible in this area. 
Printable page size. The LaserJet print¬ 
ers leave an unprintable border ap¬ 
proximately 0.25 inches wide on all 
four sides of the paper. These blank 
zones are designed to reduce the 
amount of toner that misses the paper. 
This test program, PAGESIZE.C (listing 
5), uses X and Y positioning com¬ 
mands (followed by a character) to 
print a character at positions on both 
sides of the limit of the defined page 
in order to establish the actual print¬ 
able page limits. The LaserJet printers 
do not print a character that extends 
into the border area . The 0, 0 point 
on the page is the upper left printable 
point on tlie page while the 0, 0 point 
of a character is the lower left corner 
of the character box. 

The program attempts to write 
characters closer and closer to the 
edges of the page by changing the cur¬ 
sor position. Negative positions are not 
allowed; however, negative relative off¬ 
sets can be used. First the top edge is 
tested by printing @ at a position with 
a Y coordinate of 230 and then the 
numbers 1 through 9 and 0 with the Y 
cursor position reduced by using a 
negative relative offset. Only the num¬ 
bers 0 through 7 are actually printed; 
the others are out of range and are 
ignored. A similar test is performed for 
the other three sides with a similar re¬ 
sult for the bottom and right sides. On 
the left-hand edge, however, the 
printer assumes that the requested po¬ 
sition is 0 instead of out of range as on 
the other edges and prints the charac¬ 
ters that were ignored on the other 
edges against the left margin. Figure 5 
shows the top and left sides of this out¬ 
put on the HP printer. 

Rules and patterns. HP defines six pat¬ 
terns and eight shades of gray, forming 
a gray-scale pattern. HP also has de¬ 
fined rules (horizontal or vertical lines) 
that can vary not only in length but 
also in width. The test program, 
RULES.TXT (listing 6) defines a rectan- 


SEPTEMBER 1987 


81 
















































































































































































































































LASER METRICS 


gular block and prints this block with 
each of the six predefined patterns. 
Then eight more blocks are printed, 
one with each of the eight shades of 
gray. Then four black blocks are 
printed: the first the full size, the sec¬ 
ond with a one-dot-wide X dimension, 
the third with a one-dot-wide Y dimen¬ 
sion, and the fourth with both dimen¬ 
sions set to a single dot in size. 

Figure 6 shows all of the patterns 
and gray scales, but not the extra black 
block, the rules, and the dot. The met¬ 
ric prints three additional blocks that 
are not included in the figure because 
the print quality of the magazine would 
not truly represent the shading. These 
extra blocks show the evenness of a 
black area. On the HP LaserJet + these 
blocks were not an even black. This 
unevenness was not as apparent on the 
Series II printer, which has a different 
cartridge than the earlier models. 
Full-page graphics. The original LaserJet 
printer was able to do some raster 
graphics. Raster graphics consume large 
amounts of memory because each dot 
in the image area requires one bit of 
memory. Memory can be saved by 
using a lower resolution than the 300- 
dpi maximum. Resolutions of 150 dpi, 
100 dpi, and 75 dpi are available. The 
LaserJet Series II has 512KB of memory 
standard, and with expansion memory 
(available in sizes of 1, 2, or 4MB) the 
Series II can produce a full-page 
graphic at the 300-dpi resolution. 

A full page of graphics is defined 
as one independent bit, at the printer 
resolution, for every point on the page. 
For an 8.5-by-ll-inch page, that works 
out to 8,415,000 bits or 1,051,875 bytes. 
The printable page size is 8-by-10.5, 
which means that only 945,000 bytes 
are required to contain the printable 
page. If the printer has less memory 
than is required, the graphic is split by 
the printer in such a way that the sec¬ 
ond page begins at the same vertical 
offset as the first page ended. 

The program GRAPHICS.C (listing 
7) demonstrates a full page graphic that 
is truncated at the right and bottom 
edges. The algorithm used to produce 
it places an individual dot randomly 
into each byte sent to the printer. This 
prevents any data compression by the 
printer and checks the operation when 
the printer’s memory is exceeded (as¬ 
suming that less than 1MB available 
memory). The pattern should appear 
uniform and printing irregularities evi¬ 
dent (see figure 7). 

This test helps to illustrate the type 
of shading that would be seen in a 
graphics image. The gray scales that are 



Negative numbers are not acceptable 
to the HP printer. The top and left 
margins of a page are shown here. 


FIGURE 6: Rules and Patterns 




Six predefined patterns and eight gray 
shades are available. These can be 
used only as rectangular shapes. 


defined in the printer can be used only 
as rectangles, so fill areas in general 
graphics images would be printed from 
a dot image rather than by setting a 
gray scale. The write-white system pro¬ 
duces a much paler image due to its 
20-percent reduction of the image. 

A Mandelbrot set was used as an 
additional full-page graphics test shown 
in figure 8. The data for this image are 
more than 1MB in size and are avail¬ 
able in compressed form on PCTECH- 
line as DATAARC. 

Resolution. Resolution consists of 
round dots and square dots, dots 
pushed into the paper and dots sitting 
on top, and relationships of dots next 
to each other. The toner used in laser 
printers varies considerably, noticeably 
affecting appearance of the output. This 
variation is demonstrated by the resolu¬ 
tion test RESOLUT.C (listing 8). 

This test program defines several 
shapes at the 300-dpi resolution (see 
figure 9). The first is two arrows just 
touching each other—the blacks 
should be solid with the central point 
being a single dot in size. The second 
is a series of vertical lines that are one 
dot wide and one dot apart—they 
should appear evenly spaced and uni¬ 
form. The third test is the most severe, 
especially for a write-black printer. This 
pattern consists of hollow squares 
three dots on a side separated by a sin¬ 
gle dot from similar squares on each of 
their four sides. The central white dot 
of each square tends to close up. The 
HP’s write-black system tends to de¬ 
crease the white area on all four sides, 
the charge on the central dot tends to 
dissipate, and the toner flows over the 
square filling in the open space. 

The fourth pattern is individual 
dots packed into horizontal and vertical 
rows with each dot separated from its 
nearest neighbors by a white line. Look 
for uniformity and distincmess of the 
dots in this pattern. The fifth pattern is 
the letter m taken from a typesetting 
style font. This font uses a single dot 
width neck between the vertical strokes 
and the curved parts of the m. A 
thicker, heavier toner could have a lot 
of trouble connecting the letter to¬ 
gether. The final pattern is a solid 
black rectangle; it should have uniform, 
consistent coverage. Again, this image 
is affected by the system used to gener¬ 
ate the image. A write-white system 
generally produces even blacks. 

Fonts. Fonts are the most complicated 
programming feature in the LaserJet 
printers. The existence of a font down¬ 
loading feature is important even 
though it is rudimentary compared, for 


82 


PC TECH JOURNAL 














































































The full-page graphics metric uses 
random dots to ^ the page at 300 
dpi. HP’s output is uniform; irregulari¬ 
ties that occur in other printers will 
stand out when using this metric. 


example, with the Apple LaserWriter. 

To download a font to an HP printer, 
the font must be identified and then 
each character downloaded individu¬ 
ally. The printer is not capable of any 
font modifications, such as scaling, out¬ 
lining, or bolding. Rotation must be 
done externally and the rotated font 
must be sent again to the printer. Many 
of the LaserJet font parameters are not 
completely specified in the HP refer¬ 
ence manual, causing compatibility 
problems for other printers. 

The program DOWNLD.C (listing 
9) illustrates building a single character 
for a font and determines if a user- 
defined font or an internal font is 
being used. It sets up a new font, 
downloads the shape of the letter n to 
character number 120 (the ASCII value 
for the letter x\ and then prints the 
letter on the page. If the printer substi¬ 
tutes a different font for the defined 
font, then the character x is printed. If 
the printer correctly uses the defined 
font, then an n is printed. To have a 
complete character set in this font, 
each of the other letters must be indi¬ 
vidually created and sent to the printer. 

Font design requires considerable 
skill, training, and effort. For example, 
to change the size of a character set, 
each character shape must be adjusted 
to compensate for how the human eye 
perceives shapes and relationships. 

PC TYPESETTING 

Sophisticated typesetting programs for 
the PC are beginning to enter the mar- 


HGURES: Mandelbrot Plot 



During printer testing, a Mandelbrot plot was used as an additional test of full- 
page graphics capabilities. Even though there is no control over the individual dot 
size, the human eye easily converts dot frequency into intensity levels. 



The resolution metric produces a series of test patterns at 300 dpi. The toughest 
test for write-black systems like the HP printers is the third, which consists of 
hollow squares three dots on a side separated by a single dot from similar squares 
on each their four sides. The central white dot of each square tends to close up. 


ket, largely spurred on by the creation 
of TgX, a system of public domain pro¬ 
grams developed by Donald E. Knuth 
at Stanford University, author of “The 
Art of Computer Programming.” He 
saw the need for a comprehensive 
typesetting system for manuscripts with 
mathematical formulas. At least two 


TgX-adapted compilers are available: 

PC TgX from Personal TgX, Inc. and 
MicroTgX from Addison-Wesley. 

Unlike desktop publishing pro¬ 
grams, TgX is not an interactive system; 
it is so powerful and exacting that 
much faster computers would be 
needed for it to operate in realtime. It 


SEPTEMBER 1987 


83 































LASER METRICS 




has hundreds of primitive commands 
plus an extensive macro system that 
provide many hundreds more low-level 
commands. Several high-level macro 
packages are available that are intended 
to make uniform documents easy to 
produce. Separately available drivers 
create output on EGA or Hercules dis¬ 
plays, dot-matrix and laser printers, and 
phototypesetters. The TgX drivers in¬ 
clude several hundred fonts. 

HP fully describes how a down¬ 
loadable font can be sent to the laser 
printer. In general, current applications 
that use downloadable fonts send all of 
the alphabet and other characters in 
the full set regardless of whether even^ 
character is present on a page. This 
uses valuable printer memory. 

The way that TgX handles text is 
instructive for understanding the re¬ 
quirements placed on a laser printer by 
sophisticated typesetting programs. 

Each character is individually placed on 
the page; positioning commands are 
used for justification and kerning (ad¬ 
justing the space between letters). The 
first time a font is used it is assigned a 
number. This number and a font de¬ 
scriptor are sent to the printer. Then 
the character descriptor, including the 
bit pattern for that character, is sent. If 
that character/font is used again, it does 
not need to be resent, but each new 
character must be individually down¬ 
loaded. This technique ensures that the 
output has identical spacing on dot¬ 
matrix printers, laser printers, and photo¬ 
typesetters (within the given resolution). 

Most font packages download the 
entire character set into the printer 
memory; TgX downloads only those 
characters actually used. 

To test the font changing capabili¬ 
ties of laser printers, the data file 
FONTS.HP (available on PCTECHline) 


FIGURE 10: Font Changes 

This is amrlO scaled by half. 

This is ambxlO scaled by half. 

This is amttlO scaled by hall. 

This is amsllO scaled by half. 

This is amrlO scaled by 1. 

This is ambxlO scaled by 1. 

This is amttlO scaled by 1. 

This is amsllO scaled by 1. 

This is ambxlO scaled by 2. 

This is amttlO scaled by 2. 

This is amsllO scaled by 2. 

This is amrlO scaled by 3. 

This is ambxlO scaled by 3. 
This is amttlO scaled by 3. 
This is amsllO scaled by 3. 

This is amrlO scaled by 4. 
This is amblO scaled by 4. 
This is am 10 scaled by 4. 
This is amsllO scaled by 4. 

This is amrlO scaled by half. 

This is ambxlO scaled by half. 

This is amttlO scaled by hall. 

This is amsllO scaled by half 

HP limits the number of different 
fonts on a page to 16. Requests to 
change fonts beyond 16 are ignored. 


requests 19 different fonts in succes¬ 
sion and prints a line stating the font 
type, then it requests the first four 
fonts again. The LaserJet can display 
only 16 fonts on a page (32 fonts can 
be in memoiy^ at one time). Thus, 
three font changes are ignored by the 


printer, so the line is printed in the 
font of the previous line. To demon¬ 
strate how the HP recovers, the pro¬ 
gram reselects and prints the first 4 
fonts (see figure 10). 

Characters will be missing in the 
lines where the font changes were ig¬ 
nored. This is because TgX has sup¬ 
plied the printer with only the charac¬ 
ters necessary to print the sixteenth 
line. When the printer tries to print the 
seventeenth line, it is able to print only 
as many of the characters as it has defi¬ 
nitions for. This problem is due to a 
page being defined for the printer that 
has too many font changes. Some of 
the HP-compatible laser printers have a 
higher font-per-page limit, but pro¬ 
grams that are written to tliese higher 
limits will not be compatible with the 
HP laser printers. 

COMPUCATED CRITERIA 

At first look, speed, resolution, and HP 
emulation are obvious considerations 
in selecting a laser printer. Underneath 
these considerations, however, lies a 
more complicated set of criteria: toner 
type, write-white or write-black, and 
memory expandability. Each laser 
printer manufacturer makes tradeoffs in 
satisfying these criteria, with the intent 
of attracting business in a price- 
concious market. Armed with the tools 
and information presented here, the 
informed buyer can select the best 
laser printer for the job. I Miiimiin M 


Rainer McCown is president of Rljintek, Inc., 
a systems software company that develops 
products and consults in communications, 
compilers, editors, and graphics. Heeth Clark 
is an instructor in computer literacy’ at The 
Johns Hopkins University. Bob Smith, presi¬ 
dent of Qualitas, Inc., contributed to devel¬ 
oping the metrics for this article. 


USTINGl: MISS.C 

/* MISS --PC Tech Journal Laser Printer Miscellanous Tests 

* Version 1.0 

* 

* Copyright (c) 1987, Ziff Communications Company 

* Program by: Rainer McCown and Bob Smith 

* Common Routines for C programs. 

*/ 

#include “io.h" 

^include “dos.h'' 

#include "string.h” 

^include "fcntl.h" 

#define STD_0UT 1 

/* SNDL -- Use this routine when the string-to-be-printed 
contains embedded binary zeros (which can confuse 
the STRLEN function used in SND). */ 

void sndUsray, len) 


char srayU; 
int len; 

C 

if (len != write(STD_CXJT, sray, len)) printf("%s\r\n", sray); 

> 

/* SND -- Use this routine to send a string to the standard printer */ 

void snd(sray) 
char sray[]; 
t 

sndUsray, strlen(sray)); 

> 

/* SETBINARY -- Change a file handle to binary mode to avoid 
converting LFs to CR,LF and to avoid stopping on EOFs */ 

void setbinary(fh) 
int fh; 

C 

union REGS inregs; 


84 


PC TECH JOURNAL 

















/* Change to binary mode via SETMODE 
to avoid converting LF to CR,LF */ 


snd("\x1B*p100X\x1B*p120Y\x1B&f1y2X"); 

- setinode(fh, OjINARY); 


snd("\x1B&f2Y\x1B&fOX">; /* Start macro #2 definition */ 



snd("\x1B*t100R"); /* Resolution = 100dpi */ 

/* Change to binary mode via lOCTL 
to avoid stopping on EOF */ 


snd("\x1B*r1A"); /* Start raster graphic */ 

/* Send the bit pattern for an I */ 

inregs.x.ax = 0x4400; /* Fn code to get device infdrmation */ 



inreg$..x.bx^ s fh; /* For the file handle V 


snd(»\x1B*b5W\xFP\xFF\xFF\xFF\xFF"); /* Top */ 

intdos(&1nregs, &inregs)J /* Return device info in DX V 


for (cnt = 0; cnt < 31; cnt ++) /* Mid */ 

if(inregs.x.dx & 0x0080) /* If it's a device, ... */ 


snd1(»\x1B*b5W\x00\x00\x18\x00\x00", 10); 

C 

inregs.h.dh = 0; /* Ensure zero */ 


snd(»\x1B*b5W\xFF\xFF\xFF\xFF\xFF"); /* Bottom */ 

^ inregs.x.dx I* 0x0020; /* Turn on binary mode bit */ ' * . 


/* End the I and the macro */ 

0x4401; /* Fn code to'set device information V 'i 


snd("\xlB*rB\x1B&flX»); 

intdos(&inregs, &inregs); /* Set device info from DX */ 



> 


/* Position cursor, execute macro #2 */ 

> 


snd(»\x1B*p300X\x1B*p100Y\x1B&f2y2X"); 

USTING2: MACRO.G \ 


/* Start macro #3 definition V 

/* MACRO PC Tech Journal Laser Printer Macro Tests 


> snd(«\xiB&f3Y\x1B&fOX"); 

* Version 1.0 



* 


/* Position and then call macros #1,#2,#1 */ 

* Copyright (c) 1987, Ziff Communications Company 


snd(»\x1B*p+00X\x1B*p+00Y\x1B&f1y3X"); 

* Program by: Rainer McCown /' ^ 


snd( "\X1 B*p«'35X\x1 B*p* 82 Y\x 1 B&f 2y3XH ); 

* This program creates three macros that draw^raster graphics. 


snd( ‘'\x1 B^p^-TSXVxl B*p* 82Y\x1 B&f 1 y3X" >; 

* Then other macros are called which in turn call the first 


/* End macro #3 definition */ 

* macros. The final test determines the maximum calling depth. 

*/ 


snd("\x1B&f1X"); 



/* Position cursor, execute macro V 

#include “io.h" 


snd(«\x1B*p900X\x1B*p100Y\x1B&f3y2X"); 

#define STD_OUT 1 


snd(»\x1B&f0Y\x1B&f0X"); /* Start macro #0 definition */ 

snd("\x1B*t300R"); /* Resolution = 300dpi */ 

extern void sndUchar [], int), 
snd (char □), 


snd("\x1B*r1A"); /* Start raster graphic */ 

setbinary(int); 


/* Send the bit pattern for a solid box */ 

y******************************* j |ij ******************************* / 


snd("\xlB*b5W\xFF\xFF\xFF\xFF\xFF"); /* Top */ 
for (cnt = 0; cnt < 31; cnt++) /* Mid */ 

void mainO 


snd("\x1B*b5W\xFF\xFF\xFF\xFF\xFF"); 

< ' * ' 


Snd('‘\x1B*b5W\xFF\xFF\xFF\xFF\xFF"); /* Bottom V 

int row, cnt, bit; 


/* End the box and macro #0 */ 

unsigned char byte; 


snd("\x1B*rB\x1B&fIX"); 

/* Change STD_OUT to binary mode to avoid 


/* Position cursor, execute macro #0 */ 

converting LFs to CR,LF and to avoid 


snd("\x1B*p500X\x1B*p130Y\x1B&f0y2X"); 

stoj^ing. on EOFs 

IS-;: 





/* Start macro #32768 definition */ 

setbinary(STD_OUT); 


snd("\x1B&f32768Y\x1B&fOX"); 

/* Initialize the printer */ 


/* Position and then call macros #0,#2,ifS */ 

■ ' 1 '• ; . :■ ’ . " '' 


snd("\x1B*p100X\x1B*p730Y\x1B&f0y3X"); 

sndC'XxiBE'*); /* Reset the printer */ 


snd("\x1B*p135X\x1B*p700Y\x1B&f2y3X") ; 

snd("\x1B&l0E"); /* Zero the top margin */ 

snd("\x1B&s1C"); /* Disable EOL wrap */ 


snd("\xlB*p700X\xlB*p700Y\xlB&f3y3X"); 

snd("\x1B9"); /* Clear margins */ 


/* End macro #32768 definition V 

snd(M\x1B&lCO‘»); i* Landscape mode V _ . ^ - 


snd(''\x1B&f1)<»); 

/* Bui Id the macros */ 


/♦ Position cursor, execute macro #32768 */ 

snd("\xlB&f1Y\x1B&f0X"); /* Start macro #1 definition */ 


snd("\x1B*p900X\x1B*p100Y\x1B&f32768y2X"); 

snd("\xlB*t150R"); /* Resolution = 150dpi */ 


y***************** start macro depth test ****************/ 

snd("\x1B*r1A"); /* Start raster graphic */ , 


7* The LaserJet allows a depth.of two only */ 

/* Send the bit pattern for a hollow box */ " 


snd("\xlB&f6Y\x1B&f0X"); /* Start, macro #6 definition */ 



/* Position and then call macro #7 */ 

snd("\xlB*b5W\xFF\xFF\xFF\xFF\xFF"); /* Top */ 


snd("\x1B*pf 50X\x1B*p+70Y6\x1B&f7y3X" ); 

for (cnt = 0; cnt < 31; cnt ++) /* Mid */ 


snd("a\xlB&f1X"); /* End macro #6 definition */ 

sndU“\x1B*b5W\x80\xO0\xOO\xOO\xO1", 10); 



snd(“\x1B*b5W\xFF\xFF\xFF\xFF\xFF»>; /* Bottom */ 


snd(‘»\x1B&f7Y\x1B&fOX"); /* Start macro #7 definition */ 


/* Position and then call macro #8 */ 

/* End the box and the macro */ 
snd("\x1B*rB\x1B&fIX" ); 


snd( "\x1 B*p+50X\x1 B*p<-70Y7\x1 B&f 8y3X" ) ; 

snd("b\x1B&f1X"); /* End macro #7 definition */ 

/* Position cursor, execute macro #1 */ 


snd("\x1B&f8Y\x1B&f0X"); /* Start macro #8 definition */ 



SEPTEMBER 1987 


85 




The Leaders Made PVCS 
The Leading Source Code Control Systein 


The Preferred 
Version Control System 
The customers listed below are just a few of the 
innovative leaders that have made PVCS the 
leading version control program for personal 
computers. 


W hen it comes to maintaining their most 
valuable asset, the leading software 
publishers rely on the POLYTRON Version Con¬ 
trol System (PVCS). From accounting firms to 
airlines, the leading service companies depend 
on PVCS to maintain the integrity of their pro¬ 
grams. Leading manufacturing companies use 
PVCS to maintain their state-of-the-art software. 
Leading high technology companies turn to 
PVCS to handle configuration management for 
software projects that represent an investment 
of hundreds of thousands of dollars. The largest 
aerospace companies and defense contractors 
use PVCS to maintain integrity of projects during 
development and after delivery of software. 
Independent programmers use PVCS to 
improve their productivity and software quality 
for themselves and their clients. 

Simplify 

Configuration Management 
When large and complex software programs are 
being developed on personal computers or VAX 
minicomputers, effective management of the 
revisions and versions becomes critical. PVCS 
simplifies this process and lets you effectively 
control the proliferation of code changes. We 
used UNIX sees and RCS as models. How¬ 
ever, our own experience, and the input of 
hundreds of programmers and managers has 
enabled us to significantly improve upon these 
models. 

PVCS provides many 
powerful functions including: 

• Storage & Retrieval of multiple revisions of text. 
• Maintenance of a complete history of changes. 

• Maintenance of separate lines of development 
using branching. 

• Merging simultaneous changes. 

• Resolution of Access Conflicts. 

• Modules can be retrieved by their own revision 
number, system version name, or specified 
date. 

• Uses “reverse deltas” to rebuild a prior version 
making PVCS the fastest version control 
system over the project life cycle. 

• Projects already under development or in the 
maintenance stage can be easily put under the 
control of PVCS. 

Manages Development On 
Local Area Networks 
Programming teams using Local Area Networks 
depend on PVCS to help the managers and 
team members work together. In fact, Novell and 
3Com themselves depend on PVCS to manage 
the versions of their own network software 
products. 


Supports MS-DOS 
and VAX/VMS Development 
Now, companies that develop software on VAX 
systems running VMS can also use PVCS. And 
since the VMS and MS-DOS versions of PVCS 
use the same “logfile” format, you can easily 
develop software on PCs and maintain the code 
on the VAX or vice versa. The menu-driven, 
screen-oriented interface (and optional 
command-driven interface) makes it easy for 
programmers and librarians or administrators to 
use PVCS on a PC or VAX or both systems. 

PVCS Maintains System 
Integrity 

PVCS prevents corruption of code that could 
ordinarily result from security breaks, user care¬ 
lessness or malfunctions. The levels of security 
can be tailored to meet the needs of your project. 

PVCS & PolyMake 
Work Together 

PolyMake, the leading MS-DOS make utility, is 
now available for the VMS operating system. 
This allows you to write makefiles that will func¬ 
tion in both PC and VAX environments. Addition¬ 
ally, PolyMake reads time & date stamps of PVCS 
archives for fast, accurate program rebuilding. 

PVCS and PolyMake Maintain 
Source Code Written In 
Any Language. 


ISC Aerospace 
IVAC 
Javelin 
Lattice 

Lawrence Livermore 
Lotus 

McData Corp. 

McDonnell Douglas 
Mead Data Central 
MIT Lincoln Labs 
Nastec 
Novell 

NCR Technologies 
Pitney Bowes 
Plexus Computers 
Price Waterhouse 
ROLM 

Rockwell International 

Safeco 

Sears 

Security Pacific 
Sperry 

Software Publishing 

Spacelabs 

Standard Oil 

Standard & Poors 

Tandem 

Tektronix 

Telex 

Texas Instruments 
Touche Ross 
Unisys 

United Airlines 
United Parcel Service 
United Technologies 
U.S. West 

Westinghouse Electronics 
Xerox 


Alcoa Aluminum 
Arthur Anderson 
AT&T 

AshtonTate 
Bank of America 
Bell Labs 
Bendix 
Boeing 
CIGNA 
Citibank 
3Com 

Colonial Penn 
Commerce Clearing House 
Control Data Corp. 

Corvus 

CXI 

Digital Equipment Corp. 
Deloitte Haskins + Sells 
Diebold 
Dow 

Dunn & Bradstreet 
EDS 

Educational Testing Service 

E-Systems 

Equitable Life 

Federal Express 

First Boston 

Ford 

Fox Software 

Fujitsu 

GTE 

Hardees 

Hewlett-Packard 

Honeywell 

Hughes Aircraft 

IBM 

Industrial Networking 
Intel 


Only PVCS meets the needs of independent 
programmers and corporations. Once you stan¬ 
dardize on PVCS, the archives used to track and 
monitor changes are interchangeable between 
any PVCS product. You will receive full credit for 
your initial purchase if you upgrade to a higher- 
priced MS-DOS version of PVCS. 

Personal PVCS - Offers most of the power and 
flexibility of Corporate PVCS, but excludes the 
features necessary for multiple-programmer 
projects. 

Corporate PVCS — Offers additional features to 
maintain source code of very large and complex 
projects that may involve multiple programmers. 
Includes multi-level branching to effectively main¬ 
tain code when programs evolve on multiple 
paths (e.g. new versions for different host 
systems, or a new program based on an existing 
program). 

Network PVCS ~ Extends Corporate PVCS for 
use on Networks. File locking and security levels 
can be tailored for each project. 

PVCS for VAX systems - Requires VMS. Uses 
the same interface and archive format as MS- 
DOS version. Supports branching and offers file 
locking and other security features for multiple- 
programmer projects. 


'Compatible with MS-DOS 2.0 through 3.3. 
Compatible with the IBM PC/XT/AT & other 
MS-DOS PCs. 


'5 Station LAN License. Call for pricing 
on larger Networks. 


TO ORDER: 

VISA/MC 1^800-547-4000. 
Dept. No. 310. 

Oregon & Outside USA call (503) 645-1150. 
Send Checks, RO.s to: POLYTRON 
Corporation, 1815 NW 169th Place, 
Suite 2110, Beaverton, OR 97006. 


High Quality Software Since 1982 


CIRCLE NO. 190 ON READER SERVICE CARD 



MS-DOS* 

VMS 1 


PC/XT/AT 

Micro VAX II 

VAXTxx 

VAXSxxx 

Personal PVCS 

$149 




Corporate PVCS 

$395 




Network PVCS 

$995** 

$4,950 

$9,500 

$10,500+ 

PolyMake 

$149 




Network 

PolyMake 

$447** 

$1,250 

$2,375 

$2,500+ 


















LASER METRICS 


/* Position and then call macro #9 */ 
sndC ''\x1 B*p+50X\x1 B*p+70Y8\x1 B&f 9y3X"); 


*/ 

8etbinary<STD_0UT); 

snd(''c\xlB&flX"); /* End macro #8 definition */ 

snd("\x1B&f9Y\x1B&fOX"); /* Start macro #9 definition */ 


/* Initialize the printer */ 

/* Position and then call macro #10 */ 
snd("\xlB*p+50X\xlB*p+70Y9\x1B&f10y3X"X; 

snd(''d\x1B&f1X"); /* End macro #9 definition */ 


snd("\x1BE"); /* Reset the printer */ 

snd("\x1B&lOO"); /* Portrait mode */ 

snd("\x1B&f10Y\x1B&f0X''); /* Start macro #10 definition */ 

/* Position and then call macro #10 */ 


/* Send macro defn to printer V 

snd("\x1B&f1Y\x1B&f0X"); /* Start macro #1 definition */ 

snd("\x1B^p+50X\x1B*p+70Y10\x1B&f10y3X"); 

snd("e\x1B&f1X"); /* End macro #10 definition */ 


snd<"\x1B*p-95Y\x1B*p-10X'^); /* Position offset */ 
snd(»\x1B*t150R"); /* Resolution = 150dpi */ 
snd(»\x1B*r1A\x0D\x0A»); /* Start raster graphic */ 

snd("\x1B&f1lY\xlB&f0X">; /* Start macro #11 definition */ 

/* Position and then redefine macro #11 */ 

snd( "\x1 B*p+50X\x 1 B*p+70Y11 '■); 


/* Send the bit pattern for a box V 

snd("\x1B&f11Y\x1B&f0X"); /* Restart macro #11 definition V 

snd( "\x1 B*p+50X\x1 B*p+70Y11 •'); 


snd(»\x1B*b5W\xFF\xFF\xFF\xFF\xFF»); /* Top */ 

for (cnt = 0; cnt <31; cnt++) 

snd("\x1B&f11Y\x1B&f0X"); /* Restart macro #11 definition */ 

snd("\x1B*p+50X\x1B*p+70Y11"); 

snd<"\x1B&f11Y\x1B&f0X"); /* Restart macro #11 definition */ 


8ndl("\x1B*b5W\x80\x00\x00\x00\x01", 10); /* Mid */ 

snd("\x1B*b5W\xFF\xFF\xFF\xFF\xFF"); /* Bottom */ 

snd( »\x1 B*fh-50X\x 1 B*p+70Y11") ; 

snd<"f\x1B&f1X"); /* End macro #11 definition */ 


/* End the box and the macro */ 

8nd(»\x1B*rB\x1B&f1X»); 

snd("\x1B&f*1Y\x1B&f0X"); /* Start macro #-1 definition */ 

/* Position and type -1 */ 

snd("\x1B*p+50X\x1B*p+70Y-1"); 


/* Position cursor, push location, execute macro V 

snd("g\x1B&f1X"); /* End macro #-1 definition */ 

/* Position cursor, execute macro #6 */ 


txt = "\xlB*p??00X\xlB*p100Y\xlB&f0S\x1B&f1y2X"; 
p a strchr(txt, '?'); /* Point to fill location */ 

for (cnt a 1; cnt <= 22; cnt++) 

snd("\x1B*p100X\x1B*p900Y\x1B&f6y2X"); 

/******************* gpjj macro depth test ****************/ 


p[0] = 'O' + cnt/10; /* Format 10s digit */ 

p[1] = 'O' + cnt%10; /* Format Is digit V 


snd(txt); /* Send to the printer */ 

snd("\xlB*p400X\xlB*p900Y\xlB&f10y2X»); /* recursive test */ 
snd<"\x1B*p800X\xlB*p900Y\x1B&f11y2X"); /* redefinition test */ 


> 

snd("\xlB*p1200X\xlB*p900Y\xlB&f-1y2X"); 


/* Pop location, write numbers */ 

/* Eject page */ 


txt = "\x0D\x0A\xlB&flS??"; 

snd("\f"); 


p = strchr(txt, '?'); /* Point to fill location */ 

for (cnt a 1; cnt <= 21; cnt+*) 

< 

> /* End MAIN */ 

USTING3: PUSHPOP.C 


p[0] = 'O' + cnt/10; /* Format 10s digit */ 
p[13 = 'O' + cnt%10; /* Format Is digit */ 
snd(txt); /* Send to the printer */ 

/* 

* PUSHPOP -- PC Tech Journal Laser Printer Graphics Box Test 


> 

/* Eject page */ 

* 

* Version 1.0 

* 


snd("\f"); 

* Copyright (c) 1987, Ziff Communications Company 

* Program by: Rainer McCown 

it 


> /* End MAIN */ 

* This routine uses a simple macro to draw a graphics box at 22 

* positions across the page. A push is executed after the first 21 

* boxes are drawn. 21 pops followed by the numbers 01 thru 21 


UST1NG4: COMPLEX.C 

1 * 

* respectively are then printed. 


* COMPLEX -■ PC Tech Journal Laser Printer Page Complexity Test 

* 

*/ 


* Version 1.0 

#include "string.h" 

#define STD_OUT 1 


* 

* Copyright (c) 1987, Ziff Communications Company 

* Program by: Rainer McCown 

extern void sndUchar C3, int), 
snd (char [] ), 


* This routine tests the level of complexity which the printer can 

* handle. It draws a large number of vertical rules on the page. 

setbinary(int); 

y******************************* MAIN *******************************/ 


* The rules start at various vertical offsets gradually increasing 

* the complexity to beyond the limit of the HP printer. 

*1 

void mainO 


#include "io.h" 

#include "string.h" 

< 


#include "fcntl.h" 

int cnt; 
char *txt, *p; 


#define STD_OUT 1 

/* Change STD_CXJT to binary mode to avoid 
converting LFs to CR,LF and to avoid 


extern void sndKchar [] , int), 
snd (char []), 

stopping on EOFs 


setbinary(int); 


SEPTEMBER 1987 


87 







or 


our^ Vtt 


teWivd- 


irtce 

1987 

«50V^^'^^„,^g..J“-‘"'’ 


. Co^V^ 




" ”-"":>s 0 ^ 

/ntPj 






[^ Professional C function library 
Sf 30 day money back guarantee 
1^ Multiple bullet proof windows 
Sf Easy full screen data entry 
1^ Unlimited data validation 
Context sensitive help manager 
Menus like Lotus and Mac 
[^ Programmable keyboard handler 
[^ Text editor routines 
Sf No royalties or runtime fees 
1^ Library source included FTREE 
[^ Free technical support 
^ Free BBS at (214)418-0059 
1^ Supports all major compilers 
including Microsoft 5.0 
1^ VCScreen code generator too! 
UNIX version avaialable, 
call for details 





LASER METRICS 



void tnainO 


<. 

. .Int.cnt; 

char *txt, *p1, *p2; 

/» Change STDJXJT to binary mode to avoid 
converting LFs to CR,LF and to avoid 
stopping on EOFs */ 

setbinary<STDJ)UT); 

/* Initialize the printer */ 

snd("\x1BE“); /* Reset the printer */ 

snd(«\x1B&lOO‘'); < /* Portrait mode V 

/* Position the cursor and draw a vertical rule */ 




txt = ''\xlB*p???0x!!!0Y\xlB*c1al900b0P"; 

pi = strchr(txt, /* Point to 1st fill location */ 

p2 != strchrCtxt, M*); /♦ Point tb^2nd fill location V 

for (cnt = 1; cnt <= 109; cnt-H-) ' ; 

/* Format the first fill location with leading zeros */ 
sprintf(p1, ''%03u”, cnt); 


pi [33 » ‘O*; 


/* Overwrite SPtiMTF terminating zero */ . nu. 


sprintf(p2, '•%03u‘', cnt); 

p2[3] = 'O'; /* Overwrite SPRINTF terminating zero */ 


sndCtxt); 


/* Send tO‘ the .printer */ ‘ r ’* ^ 


for (cnt a 111; cnt <* 219; cnt++) 


/* Format the first fill location with leading zeros */ 
sprintfCpI, »'%03u", cnt); 

p1C33 S' '0*; /* <3verwrite SPRINTF terminating zero*/ 

sprintf(p2, "%03u", cnt * 110); 

p2C3] = 'O'; ' /* Overwrite SPRINTF terminating zero */ 


snd(txt); 

/* Eject page */ 


/* Send to the printer */ 


snd("\f"); 

>/*"lnd MAIN */ \ ' ‘ 

USTING5: PAGESIZE.C 

/* 

* PAGESIZE •• PC Tech Journal Laser Printer Page Size Test 

\i " 

* Version 1.0 

* 

* Copyright (c) 1987, Ziff Conminications Company 

* Program by: Rainer McCown 


* This program determines the printable page size by positioning 

* the cursor and then printing a character. The HP LaserJets 

* will print the numbers through 7 (on the top, right, and bottom 

* sides) the others are off of the page. The locations beyond 

* the left margin are negative and cannot be addressed which 

* shoves the higher nuntoers back onto the page. 


#define STD_OUT 1 

extern void sndUchar [], int), 
snd (char [3), 
setbinary(int); 



void mainO 
< 


/* Change STDjOUT to binary mode to avoid 
converting LFs to CR,LF and to avoid 
stopping on EOFs */ 


setbinary(STD_OUT); 

/* Initialize the printer */ 

snd(»\xlBE"); 

snd(»\xlB&lOE"); 

snd("\x1B&s1C"); 

snd("\x1B9"); 

snd("\xlB&lOO"); 

/* Look for top edge */ 


/* Reset the printer */ 
/* Zero the top margin */ 
/* Disable EOL wrap */ 
/* Clear margins */ 
/* Landscape mode */ 


snd( "\x1 B*p500x230Ya‘') ; 
snd("\x1B»pf100x'20Y1"); 
snd("\x1 B^pH 00X-20Y2" ) ; 
snd(“\x1B*p+1OOx-20Y3"); 
snd("\x1B*pf1OOx * 20Y4"); 
snd("\x1B*pf100x-20Y5»); 
snd("\x1B*p*1OOX-20Y6"); 
snd("\x1B*p+100x-10Y7»>;~ 
snd( ”\x1 B*p+1 OOx- 1 0Y8") ; 
snd(«\xlB*pf100x-10Y9»); 
snd("\x1B*p+1OOx-1OYO"); 




/* Look for bottom edge */ 

. snd(»\x1B*p500x3090Y#");'-'' . 
8nd(M\x1B*p»‘l00x+20Y1"); 
snd( »\x1 B*p<-100X+20Y2") ; 
snd("\x1B*pH 00X+20Y3"); 
snd("\x1B*p+100X+20Y4"); 
snd("\x1B*p^100x+20Y5"); 
snd( "XxlB*^!00x+20Y6‘'); 
snd(»\x1B*p4'100x+10Y7"); 
snd( "\x1 B*p<-100x+10Y8" ) ; 
snd("\x1B*p+100x+10Y9»); 
snd("\x1B*p+1OOx+1OYO"); 


/* Look for left edge */ 


snd("\x1B*p130x500Y$»); 
snd("\x1B*p-50x+1OOY1"); 
snd("\x1B*p-50X+100Y2"); 
8nd("\x1B*p-50x+100Y3"); 
snd("\XlB*p-50x+100Y4"); 
8nd("\x1B*p-50X+100Y5"); 
snd( "\x1 B*p- 50X+1 00Y6" ) ; 
snd("\x1B*p-40X+100Y7"); 
snd("\x1B*p-40X+100Y8"); 
snd( "\x1 B*p-40x+100Y9''); 
snd("\x1B*p-40x+1OOYO"); 


/* Look for right edge */ 


snd("\x1B*p2240x500Y%"); 
snd("\x1B*p-1Ox+100Y1"); 
snd("\xlB*p-10X+100Y2"); 
shd("\x1B*p*IOx+100Y3"); 
snd("\x1B*p-1Ox+100Y4"); 
snd("\x1B*p-1Ox+100Y5"); 
snd("\x1B*p-1Ox+100Y6"); 
snd("\x1B*p-20X+100Y7"); 
snd(‘'\x1B*pf20X+100Y8"); 
snd("\x1B*p-20X+100Y9"); 
snd("\x1B*p-20x+1OOYO"); 





/* Eject page */ 
snd("\f«); 

> /* End MAIN */ 


SEPTEMBER 1987 


89 





The Next Evolutionary Step 
In Editing Source Code 








Source Code Files 


Menu Shell Doubles as an 
Instant Command Key Reference 
(Use of menu is optional) 


sF7-File Dire< 


A:\ERR.MSG INSERT AUTOINDENT Line 






Fl-Files 


sFl-Find/Replace aFl-Cut&Paste aFlO-Utilities sFlO-Parameters 


Context Sensitive Help 


F2-Get File 
■F3-Release File 
■F4-Save Release 
‘F5-Save Bak Release 

‘F7-Write File 
‘F8-Print File 
'F9-Rename File 


FI = Help 


pene(); ^ 

NSIZE + 1]; 


rgv[l],''ra'',path))) 
"open ”); 


INSERT FILE Command 


struct hdr{ _ 

--- llli_Lipin 

byte yy; 
bytg.^arf*^'^ 
byte dd; 
long no_recs; 
unsigned header_len; 
l|signed reclen; 
ar filler[20]; 


'ts the contents of a user 
specified file above the current line. 


fdesc{ 

ar fldname[ll]; 
—“ar fldtype; 
long fda; 


A:\XAPP.C INSERT AUTOINDENT Line 12 Col 17 I 


XAPP.c 13 Warning 93: no reference to identifier "ofp" 
XAPP.c 13 Warning 93: no reference to identifi^rjlficctt- 
XAPP.c 14 Error 77: identifier expected 
XAPP.c 14 Error 77: identifier expected 
XAPP.c 14 Error 57: semi-colon expected 


Compiler Error Messages 


The difference is in the 
human interface 

While most of the other major 
program editors are based on 
yesterday's methodologies of main¬ 
frame and mini computer editors, 
VersiEdit uses a fresh approach 
that is best suited for PC’s. 

The commands are assigned to keys 
for the best use of the PC keyboard. 
The interface is optimized for a mini¬ 
mum number of key strokes per 
task. VersiEdit has true context sen¬ 
sitive help. You can execute the 
commands either through the menu 
or directly. VersiEdit is incredibly 
easy to use. To get started, all you 
need to know is three keys; Help, 
Menu, and Cancel. 


Ease of use with no 
compromise in power 

• Windows—Vertical, Hori¬ 
zontal, Adjustable (max 8) 

• Excellent Directory and Envi¬ 
ronment Variable Support 

• Powerful Cuts Paste 
and Find/Replace 

• Supports all Computer 
Language Formats (indents, 
line numbers) 

• Restores Deleted or 
Modified Lines 

• EGA Large Display 

• Brace/Parenthesis/Bracket 
Balancing 

• Summary Display 

• Auto Indent 

• DOS Gateway 

• Easily Customized 

• Much More 


Ity VersiEdit at no risk 

We are confident that you will like 
the look, feel, and function of 
VersiEdit. Try it for 30 days. If for 
any reason you are not completely 
satisfied, return it for a full refund. 

ORDER TODAY TOLL FREE 
(800)521-6308, 

In Virginia (703)820-9515 

$ 149 plus $5 shipping and handling, 
Virginia residents add $6.93 sales tax 

Minimum System Requirements: 

PC or compatible with 320K RAM, 
DOS 2.0 or higher 

CvberTech 

The Quality Software Company 

RO. Box 1337 
Falls Church, VA 22041 


CIRCLE NO. 114 ON READER SERVICE CARD 
























LASER METRICS 


11 S 3 XVG 6 : RULES.TXT 


* RULES -• PC Tech Journal Laser Printer Rules and Patterns Tests 

* 

^ Version 1.0 „ , 

..::.:., . .. J;,;*;'':.'. 

* Copyrlaht <c> 1%7, Ziff Comnunicatlons Company - 

* Program by: Rainer HcCown 

* 

This example program was entered via a text editor and 

theiprfnter i,1s, ex6>cl8«ld using thb DOS coiiiifend below; ' i , ’ ^ 

COPY RULES/B.LPTI 


These first commands print all 6 of the built in patterns. 

<ESO*plC0x2C0y<ESO*c300a400btg3P , 

<ESC>*pSOOx2O0Y<ESC>*c3OOa4OOI^g3P , i I 

<ESC>*p900x200Y<ESC>*c300a400b3g3P 

<ESC>*p1300x200Y<ESC>*c300a400b4g3P 

<ESC>*p1700x200Y<ESC>*c300a400b5g3P 

<ESO*pZ100x200Y<ESC>*c300a400b6g3P 

The next 9 commands print all different shades of, gray.' 

<ESC>*pl00 x800Y<ESC>*c300a400b1g2P 
<ESC>*p500 x800Y<ESC>*c300a400b3g2P 

<ESC>*p900 x800Y<ESC>*c300a400b11g2P r,, 

<ESC>*p1300x800Y<ESC>*c300a400b21g2P ' ’ 

<ESC>*p1700x800Y<ESC>*c300a400b36g2P 

<ESC>*p2100x800Y<ESC>*c300a400b56g2P 

<ESC>*p100x1400Y<ESC>*c300a400b81g2P 

<ESC>*p500x1400Y<ESC>*c300a400b100g2P 

The next 4 commands print a box, a horizontal line 
a vertical line, and a single dot. 

<ESC>*p900x1400Y<ESC>*c300a400bOP 
<ESC>*p1300x1400Y<ESC>*c300a1bOP 
<ESC>*p1700x14C0Y<ESC>*cla400b0P 
<ESO*p2100x1400Y<ESO*cla1b0P 

The last 3 boxes are printed beyond the edge of the 
paper to determine the printable box margins. 

<ESO*p100X<ESO*p-200x2000Y<ESl>*c600a400b0P ; 

<ESO*p2100x2000Y<ESC>*c600a400b0P ; - ^ 

<ESC>*p1100x2000Y<ESO*c300a1400b0P ' / 

USTING7: GRAPHICS.C 

/* GRAPHICS PC Tech Journal Laser Printer Full Page Graphics Test “ 

* Version 1.0 

* 

* Copyright (c) 1987, Ziff Communications Company 

* Program by: Rainer McCown 

* This program uses the random number generator to generate 

* a fandom but uniformly grey backgqund pattern which is used 

* to show page printing uniformity, the grai^ics page print 

* time, and amount of available printer memory. To print 

* the full page requires one megabyte of available memory. */ 


#include »8tdlib.h“ 

#def ine STDjaiT 1 
extern yoid sndUchar C3, inj:)/; / 
snd (char []), 
setbinary(int); 
unsigned char 






rrayC7 85*300/10/83; 


/* 7 bytes of header 
- 8.5“ * 300 dpi / 8bits/byte ,*/ ; 


MAIN 

void mainO 
C 

int row,, cnt, hdrsiz; 

/* Change ST0_OUT to binary mode to avoid converting LFs to CR,L 
and to avoid stopping on EOFs */ 
setbinary(STD_OUT); 


fliipig 


/* Zero the top margin */ 
/* Disable EOL wrap */ 
/* Clear margins */ 

/* Landscape nwde ^ p - */ 

/*'jl^oTiitiofi « SOOdpi 
/* Start raster graphic 
/ 


*/ 


/* Initialize the printer:5 a ^, - . - ' 

‘ snd(«^\x1BB»l); i. % ; '' o/* Reset fhe printer n*A 

^ snd<''\x1B&l0E"); 
snd(''\x1B&s1C''); 
snd("\x1B9‘'); 

;snd(«\XlB&lOO‘»); 

: ’ /* Senc^ '|iata to pr i nter 5/p. 
snd(‘'\xi8%9qR«); ’ \ ‘ ’ 

snd(‘'\x1B*r1A»>; 

/* Send the bit pattern for a box 
strcpy(&rray[0], "\x1B*b318W"); 

hdr$iz*a.stril*en<lRirtayC03b; 

for< row’' # ^1; 33pq;''":'roV<+-f)>.' ■'V. 

< ^ f 

forCcnt s hdrsiz; cnt < sizeof(rray); cnt++) 
r ray Cent] = 1 « (randO & 7); 
sndKrray, sizeof(rray)); 

W’ 

;V’*'End the^rkster,gra|*to'*/; . 

"%fWiCM^1B*rW?),; '-’V' , '' 

/* Eject page */ 
sndC'Xf"); 

> /* End MAIN */ 






.ftt- 

r>,' ,, 


iilii 


III 


USINGS: 


Hi 


/* RESOLUT •• PC Tech Journal Laser Printer Resolution Test 

* Version 1.0 

* q^right (c) 1987, Ziff Cwnmuni cat ions Company, 

* Progr^ by;; Rainer McCown and Bob Smith . ’ ^ 

* Prints a sefiei of high-resoluticb patterns showing detailing 

* capabilities of laser printers */ 


’■f-: 


#include "io.h" 

#define MsitZ 64 
char mata tMSIZ+13 = C 

•>0000000000000001000000000000000000000000000000001OOOOOOOOOOOOOOO", 
" 0000000000000001100000000000000000000000000000011000000000000000 ", 
" 0000000000000001110000000000000000000000000000111000000000000000 ", 
•• 0000000000000001111000000000000000000000000001111000000000000000 ", 
" 0000000000000001111100000000000000000000000011111000000000000000 ", 
" 0000000000000001111110000000000000000000000111111000000000000000 ", 
" 0000000000000001111111000000000000000000001111111000000000000000 ", 
" 0000000000000001111111100000000000000000011111111000000000000000 ", 
" 0000000000000001111111110000000000000000111111111000000000000000 ", 
" 1111111111111111111111111000000000000001111111111111111111111111 ", 
" 11111111111111111111111 . 11100000000000011111111111111111111111111 ", 
" 1111111111111111111111111110000000000111111111111111111111111111 ", 
" 1111111111111111111111111111000000001111111111111111111111111111 ", 
" 1111111111111111111111111111100000011111111111111111111111111111 ", 
" 1111111111111111111111111111110000111111111111111111111111111111 ", 
" 1111111111111111111111111111111001111111111111111111111111111111 ", 
" 1111111111111111111111111111111111111111111111111111111111111111 “, 
"111111111111111111111111111111100111111111111111111111111111T111", 
" 1111111111111111111111111111110000111111111111111111111111111111 ", 
" 1111111111111111111111111111100000011111111111111111111111111111 ", 
" 1111111111111111111111111111000000001111111111111111111111111111 ", 
" 1111111111111111111111111110000000000111111111111111111111111111 ", 
" 1111111111111111111111111100000000000011111111111111111111111111 ", 
" 1111111111111111111111111000000000000001111111111111111111111111 ", 
" 0000000000000001111111110000000000000000111111111000000000000000 ", 
" 0000000000000001111111100000000000000000011111111000000000000000 >', 
" 0000000000000001111111000000000000000000001111111000000000000000 ", 
•> 0000000000000001111110000000000000000000000111111000000000000000 ", 
" 0000000000000001111100000000000000000000000011111000000000000000 ", 
" 0000000000000001111000000000000000000000000001111000000000000000 ", 
" 0000000000000001110000000000000000000000000000111000000000000000 ", 
" 0000000000000001100000000000000000000000000000011000000000000000 ", 
" 0000000000000001000000000000000000000000000000001000000000000000 ", 
in: “ .. .. 




iiiii 






SEPTEMBER 1987 


91 




NOW 

TOUCAN HAVE 
THEMOmiTOUVE 
AIMMSWiNTED 
ATAPRKE 

TOU NEVER E®EAMED 
TOUCOULDGET. 

At Hayes we just found a way to make the best-selling PC modems in 
the world even better. We lowered their price. From now on our 
Smartmodem 2400,''' Smartmodem 2400B,''' Smartmodem 1200,''' 

Smartmodem 1200B,''' Smartmodem 1200C''' and our new 
Smartmodem 1200A'''will cost considerably less. Up to one-third less.* 

So if you’ve always wanted a Hayes modem, external or internal, for an 
IBM PC or compatible. IBM PC Convertible, 

Apple' Macintosh**Apple II. or almost 
any other PC. now you don't have to setde 
for less. Just pay less. 



m 


SMARTMODEM 2400 # 

OOHayes* hs 


AA 


CD OH 


RD 


SD 


TR 


t 


MR 


(0 1987 Hayes Microcomputer Products, Inc. P.O. Box 105203. Atlanta. GA 30348. 404-4411617 


*Based on estimated retail prices. **Requires external modem. 






lASER METRICS 



char matin [MSIZ+1] = C 

•'0101010101010101010101010101010101010101010101010101010101010101", 

"0101010101010101010101010101010101010101010101010101010101010101". 

"0101010101010101010101010101010101010101010101010101010101010101". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

"0101010101010101010101010101010101010101010101010101010101010101". 

"0101010101010101010101010101010101010101010101010101010101010101". 

"0101010101010101010101010101010101010101010101010101010101010101". 

"0101010101010101010101010101010101010101b10101010101010101010101". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

"0101010101010101010101010101010101010101010101010101010101010101". 

"0lbl010101010101010101010101010101010101010101010101010101010101". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

"0101010101010101010101010101010101010101010101010101010101010101". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

" 0101010101010101010101010101010101010101010101010101010101010101 ". 

>; 


char matZC] CMSIZ+1] = T 

"1110111011101110111011101110111011101110111011101110111011101110". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"1110111011101110111011101110111011101110111011101110111011101110". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1110111011101110111011101110111011101110111011101110111011101110". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

"1110111011101110111011101110111011101110111011101110111011101110". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1110111011101110111011101110111011101110111011101110111011101110". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

"1110111011101110111011101110111011101110111011101110111011101110". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1110111011101110111011101110111011101110111011101110111011101110". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"1110111011101110111011101110111011101110111011101110111011101110". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1110111011101110111011101110111011101110111011101110111011101110". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"1110111011101110111011101110111011101110111011101110111011101110". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1110111011101110111011101110111011101110111011101110111011101110". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"1110111011101110111011101110111011101110111011101110111011101110". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1110111011101110111011101110111011101110111011101110111011101110". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

"1110111011101110111011101110111011101110111011101110111011101110". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1110111011101110111011101110111011101110111011101110111011101110"'. 

"1010101010101010101010101010101010101010101010101010101010101010". 

"1110111011101110111011101110111011101110111011101110111011101110". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1110111011101110111011101110111011101110111011101110111011101110". 

>; 








char mat3[] [MSIZ+1] = T 

"1010101010101010101010101010101010101010101010101010101010101010". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1010101010101010101010101010101010101010101010101010101010101010". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1010101010101010101010101010101010101010101010101010101010101010". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"OOOOOOOqOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"OOOpOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"0000000000000000000000000000000000000000000000000000000000000000". 

" 1010101010101010101010101010101010101010101010101010101010101010 ". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1010101010101010101010101010101010101010101010101010101010101010". 

"0000000000000000000000000000000000000000000000000000000000000000". 

"1010101010101010101010101010101010101010101010101010101010101010", 

" 0000000000000000000000000000000000000000000000000000000000000000 ", 

"1010101010101010101010101010101010101010101010101010101010101010"; 

>; 


char mat4[3 [MSIZ+13 = i 

" 0000000000000000000000000000000000000000000000000000000000000000 ". 

"1111110001111100000011111000000000000000000000000000000000000000". 

"0001110010001110000100011100000000000000000000000000000000000000", 

"0001110100000011001000000110000000000000000000000000000000000000". 
"0001111000000011110000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000". 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"0001110000000011100000000111000000000000000000000000000000000000", 
"1111111110011111111100111111111000000000000000000000000000000000", 
" 0000000000000000000000000000000000000000000000000000000000000000 ", 
" 0000000000000000000000000000000000000000000000000000000000000000 ", 
" 0000000000000000000000000000000000000000000000000000000000000000 ", 
" 0000000000000000000000000000000000000000000000000000000000000000 ", 
" 0000000000000000000000000000000000000000000000000000000000000000 ". 
"0000000000000000000000000000000000000000000000000000000000000000". 
"0000000000000000000000000000000000000000000000000000000000000000", 
"0000000000000000000000000000000000000000000000000000000000000000", 
"0000000000000000000000000000000000000000000000000000000000000000". 
"0000000000000000000000000000000000000000000000000000000000000000", 
"0000000000000000000000000000000000000000000000000000000000000000", 
"0000000000000000000000000000000000000000000000000000000000000000", 
"0000000000000000000000000000000000000000000000000000000000000000", 
"0000000000000000000000000000000000000000000000000000000000000000", 
>; 



SEPTEMBER 1987 


93 




What experts are saying about PC Scheme 
horn Texas Instruments: 


Dn Dobb^s Journal, February 1987 


Discover how powerful—and 
inexpensive—PC symbolic program¬ 
ming can be with PC Scheme from 
Texas Instruments. Whether you’re an 
experienced Lisp programmer or just 
beginning, PC Scheme is the complete, 
$95* solution to your software 
development needs. 

PC Scheme combines elegant 
simplicity with remarkable speed in a 
full Lisp development system. Named 
PC Tech JoumaVs Product of the 
Month (August 1986), PC Scheme 
brings professional Lisp programming 
features to personal computers. 


261933A 

© 1987 Tocas Instruments Incorporated 


PC Scheme 3.0 

—Optimizing incremental byte-code 
compiler for ease of programming 
and operation 
—EMACS-like editor 
—Lexical scoping of variables 
—Ability to suspend PC Scheme, 
execute DOS-based programs, then 
return to PC Scheme 
-Random-file access and binary-file 
support 

—Extensions for debugging, graphics 
and windowing 

—External language interface to C, 
Turbo Pascal® and other languages 
—SCOOPS (Scheme Object- 
Oriented Programming System) 
-Two-megabyte extended/expanded 
memory support 

—New manuals with tutorials and 
examples 


Find out for yourself why experts are 
praising PC Scheme. For the dealer 
nearest you, or to order by phone, call 
toll-free: 

1 - 800 - 527-3500 

* TJ Suggested list price 

PC Scheme runs on IBM® Personal Compiaers and compatibles 
(including the Thcas Instruments Business-Pro™ computer). 

Minimum configuration: 512K RAM, dual floppy system. 

Turbo Pascal is a registered trademark of Borland International. 

IBM is a registered trademark of International Business Machines 
Corporation. Business-Pro is a trademark of Texas Instruments 
Incorporated. 


Texas 

Instruments 







LASER METRICS 


char mat5[] [MSIZ+1] = C 

"1111111111111111111111111111111111111111111111111111111111111111'', 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

" 1111111111111111111111111111111111111111111111111111111111111111 ", 

"1111111111111111111111111111111111111111111111111111111111111111", 

" 1111111111111111111111111111111111111111111111111111111111111111 ", 

"1111111111111111111111111111111111111111111111111111111111111111", 

" 1111111111111111111111111111111111111111111111111111111111111111 ", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

"1111111111111111111111111111111111111111111111111111111111111111", 

}; 

struct PRT_LINE 
i 

char lhd[5]; 
char line[MSIZ/8]; 

}; 

struct PRT_LINE 

prt_line = C'\xlB', '*', 'b', '0'+MSIZ/8, 'W'>; 

#define LINE_LEN sizeof(prt_line) 

#define STD_OUT 1 

extern void sndUchar [], int), 
snd (char []), 
setbinary(int); 

/*************************** pmat **********************************/ 

void pmatCmats) 
char mats[] [MSIZ+1]; 
i 

int row, col, bit; 
unsigned char byte; 

/* Send header info to printer */ 

snd("\x1B*p+200x0100Y"); /* Position the output on the page */ 

snd("\x1B*rlA"); /* Start raster graphics mode */ 

/* Translate MATS into bits for output to printer */ 

for (row = 0; row < sizeof(mat)/sizeof(matCO]); row++) 

< 

for (col = 0; col < MSIZ; col += 8) 

C 

for (byte = 0, bit = 0; bit < 8; bit++) 

byte = (byte « 1) | (mats[row][col + bit] == '1'); 
prt_line.line[col » 3] = byte; 

> 


/* Write out a line's worth */ 
sndl((char *) &prt_line, LINE_LEN); 

> 

/* End raster graphics mode */ 
snd("\x1B*rB"); 


/******************************* main *******************************/ 
void mainO 
i 

int row, col, bit; 
unsigned char byte; 

/* Change STD_OUT to binary mode to avoid 
converting LFs to CR,LF and to avoid 
stopping on EOFs 

*/ 

setbinary(STD_OUT); 


/* Initialize the printer */ 


snd("\xlBE"); 

/* Reset the printer */ 

snd("\x1B&lOO"); 

/* Portrait mode V 

snd("\xlB*t300R"); 

/* Set the printer resolution */ 

/* Send the bit patterns 

to the printer */ 

pmat(mat); 


pmat(matl); 


pmat(mat2); 


pmat(mat3); 


pmat(mat4}; 


pmat(mat5); 


/* Eject the paper */ 


snd("\f"); 


> /* End MAIN */ 


UST1NG9: DOWNLD.C 


/* DOWNLD -* PC Tech Journal Laser Printer Font Download Test 

* 

* Version 1.0 

* 

* Copyright (c) 1987, Ziff Communications Company 

* Program by: Rainer McCown and Bob Smith 

* 

* This routine downloads a font for a single character. It 

* demonstrates how to construct the appropriate commands necessary 

* to define a font. Even though the font defines but a single 

* character, it can be generalized easily. 

*/ 

#define STD_(XJT 1 

extern void sndUchar [], int), 
snd (char []), 
setbinary(int); 

struct FONTDESC_STR 

< 

int C26; 
char CO, 

ftype; 
int DO, 

baseline, 
cellwidth, 
cellheight; 
char orientation, 
spacing; 
int symbolset, 
pitch, 
height, 

EO; 
char FO, 


SEPTEMBER 1987 


95 







See How Your Existing User Documentation 

Can Go 


From this: 


To this: 


CHAPTERS 
SPECIAL FUNCTIONS 


CHANGE DATE 


This special function allows you to change the date without turning off the computer. 
Although you can type over any date when making journal entries, it is faster to set the 
date to the day you are posting so all you have to do is press ENTER when asked for the 
date. 


This special function is where all funds and sub-funds are set up and described. THIS IS 
THE FIRST THING YOU MUST DO BEFORE ANYTHING ELSE IN THE GENERAL 
LEDGER. 


When you choose this option, this menu appears. 









When the new year funds are set up, the current month is also set. That month is part of 
each journal number for the month and the default date on all reports. If the date must 
be changed, type N and press FI to return to the G/L menu and choose #14 (end 
month) as many times as it takes to reach the proper month. For more information about 
the current month, see #14 End Month. 

The following procedure explains how to set up a new fiind or sub fund. Bold print shows 
what you will see on the screen: 


for as low as $20* per page! 

This service includes page design, formatting, proofing, 
light editing, screen enhancements, and camera ready copy. 



Xanthus...the documentation experts! 


* This price typical of documentation upgrade service as shown; 
source material provided on diskette In ASCII, WordStar, or WordPerfect; 
and a minimum page count. 


Xanthus Corporation • 9171 Capital of Texas Hwy. • Austin Bldg., Ste. 230 • Austin, TX 78759 • (512)343-5030 


CIRCLE NO. 214 ON READER SERVICE CARD 










Ml aaawHuas 


i6 




ido 91 a q9i 



aoeds paxij a dg 

/• NIVW PU3 */ C 


SB las loquiXs *o sjaiauiejed 3Ui*aa «/ 

•*(mAii)PUS 


/jf g-UBUioa las ^oqiuXs loaps */ •(iii8)ai,x\ii)pus 



apoto iiBJiJOd ♦/ •'(..0018aix\ii>pus 

/» aBed joafg */ 


suiBjbui JBaio */ .'(i.6aiAu)pus 



/* dBJM 103 BiqBsia g>/ 4..3is>jaix\„)pus 

i (iiUX08Z01 )a lx\X9££d*a lx\AZ«^£d*a ix\„ >pus 


/* uiBjbui doi aqi ojaz ♦/ 4ii3018aix\ii)pus 



/* jaiuud aqi lasaa »/ •'(ii3aix\n)pus 

-*(£ « <Z + MJBM3 ♦ MJBqo) 'duiDipus 


/j^ jaiuijd aqi aziiBil.iui «/ 

i«/ 8 <f + pup) - Z> » <iOi - ♦4d*) =1 C£ « (f + pui)]ctan 


4ino“aiS)XJBUiqia8 

(++f 



fMjei|3 > r 


/^^ 8303 uo Buiddois 

•"0 = f = d)JO* 


PIOAB 01 pUB dl'ao 01 SJ1 BUllJSAUOO 

(++i 'MJeqo s+ pui fqjsqo > i .*o » i = pui)JOJ. 


piOAB 01 apoul XJBUiq oi ino”aiS aBuBqo ,/ 

t^, |U, Jd^OBjeqa aq:^ uu6^ qaiqn 8;)q aqi aui^aa »/ 


.'f 4 'put lui 



.'d* 't£ « (OS » 05)3*a JBqa 

f((dui));).oazis *0 'du]z)zasuiaui 


fqjBqo 'MJBqo 'zisBsui lui pauBisun 

11 asn-aj aw aseo ui sojaz na oj dWl aziiB.Uiui */ 


> 

f((9Sdpj8qa>^oazis 'asapjeq3>sf (« Jeqa})ipus 


Ouieui ptOA 

.*(clun)pus 



jazoBjeqo peoiuMop ue^s */ -'(zisBsui *nnp%s)aix\„ 'dyuO^juuds 



.'qjeqa ^ a/Mjeqa + 


i 

uoijjod Biep snid japsaq azis */ (osapjBqo)^oazis = zisBsuj 


i(S » (Axo 8 BlXqi) 1 g « aiXqi)UJniaj 

;()q6iaqjBq3*3sapjBqa)d6MS = qjBqa 



!(q}piMJBq9*3sapjBq3)dBns s MJBqo 


faiXqi lui pauBisun 

s)op jazjBnb s^iun ui 



Buijuud jai^B Slop 2 i di5|s */ i(£2j»i^)clBMS = XBiiap’osapjBqo 


(aiXqi)dBns lui pauBisun 

Slop ui jaiOBJBqo ^o iqBiaH ♦/ .'(9i)dBMS = iqSiaqjBqo’osapjoqo 



Slop ui jaioBJBqa ^o qipin «/ v(ti'2}deMS s qiptMJBqo'osapjBqo 


/4iJ(;f|HHI^I^^I^¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ dVftS ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥/ 

/y. liao jaiOBjaqo utqiin «/ f(2i)dBMS s j.^odoi’0sspjBq9 


..." ■'< 

/tf, iiao jaioBJBqo uiqiin >$./ f(i,)dBHS s ^^oi^ai'OsapjBqo 


'iioooouuuuiooumiiun’ 

/j^ adsospuBi = 1, 'iiBJiJod = 0 ♦/ 'O = uoiiBiuauo’osapjsqo 


' IIOOOOOOO1L LOOOOOOOO 11 IOOOh 

/* n lUBisuoD */ in = l^p-osapjBqo 


' ilOOOOOOO 1UOOOOOOOO1UOOOII 

/♦ V 1UB1SU03 ,i/ i*; = t^Q-osapjBqo 


' iiOOOOOOO U lOOOOOOOO U LOOOii 

/* I lUBisuoo ♦/ 4 =: p-osapjBqo 


'iiOOOOOOOUiOOOOOOOOU lOOOii 



' IIOOOOOOO li lOOOOOOOO U lOOOii 

/« iU| jaioBJBqo aqi joj. uapsaq aqi aui^aa «/ 


' tiOOOOOOO 1 liOOOOOOOO 11 tOOOii 



' mOOOOOOO L1 LOOOOOOOO U lOOOii 

•"(ii30lP#aix\„)pus 


' iiOOOOOOO 11 LOOOOOOOO 11 lOOOii 

/* ,u, jaiiai aqi jo* apoo ipsv aqi aquosaa */ 


'iiOOOOOOOL L LOOOOOOOO L L LOOOn 



* iiOOOOOOOLL LOOOOOOOO L L LOOOli 

4Cosapiuo*,)*oazjs 'osapiuo*^ (* JBqo))ipus 


' iiOOOOOOO L L LOOOOOOOO L L LOOOii 

Uiift9E8(aix\„)pus 


' iiOOOOOOO L L LOOOOOOOO L L LOOOn 



' IiOOOOOOO L L LOOOOOOOO L L LOOOn 

UBUioa saujii = s ♦/ .'(/)dBMS= aoB*adAi*osapiuo* 


'iiOOOOOOO L L LOOOOOOOL L L LOOOn 

/* (Pioq) 1 01 (iqBii) Z- */ iQ = iq6iaM*osapiuo* 


' liOOOOOOOO L LOOOOOO LO L L LOOOn 

on Bill = t 'iqBudn s 0 ♦/ . -0 « aiXis-osapiuo* 


. 'iiOOOOOOOOLLLOOOOLOOLlLOOOn 

* ••• qB.iq Slop oS */ s iqBiaq'osapiuo* 


'nOOOOOOOOOOL1LLLOOOL1LLLLn 

/# Slop jaijsnb 


> a Hjaiiai^ jBqo 

*0 siiun ui apiM siop o£ «/ 40£*^)dBMS = qoiid’osapiuo* 



/♦ V9 - in. + Z£*8 = ZZ2 


.'osapjBqo ais“3S3aaVH3 lonJis 

'g-ueuioa JO* ig Buisn J^/ •(ZZ2)ciBMS = lasioquiAs’osapiuo* 



/# leuoiijodojd s V 'paxj* s 0 */ 4 = BuioBds*Dsapiuo* 



adBospuBv s l *l|BJiJod s 0 «/ 4o = uojiBiuaijo'osapiuo* 


.'xBiiap 

/» Itao *0 iqBiaH f(2^r)dBMS a iqBjaqnBO’osapiuo* 


'iqBiaqjBqo 

/* nao *0 qipin ^^/ /(p)dBMS = qipiMiiao'osapiuo* 


'qipiMJBqo 

/jf, iiao uiqiiM auiiasBq jaiOBJBqa j^/ 4o£}ciBMS = auiiaseq'osapiuo* 


'**odoi 

/♦ (BdXi 


'**oi*ai lui 

luo* iiq./ JO* 0 Bsn) iiq.g fl o adXi**os3piuo* 


'00 

/* 92 IUB1SU03 ,/ 492)cIbms a 923*os8piuo* 


'uoii8iua|,jo 



. ' ■ ,-4o . 

joiduosap luo* 3ui*aa «/ 


4L3 

•*(.iG0820lo*aix\„)pus 


UJ 

'P JBqo 

y 

/m Ql )UB* luajjno 3Ut*aa «/ 


aiS“3S30aVH3 aonJis 

4i.l0q£-s0A8M9ld0S)aix\„)pus 


.'osapiuo* aiS"3S3aiN0d lonjis 

/« jaiuud auH = 10 


4 

iqBn = q£- 


!aoB*adXi 

iqBudn a so 


'iqStsM 

id g = Ag 


'aiXis 


SDiajMHSSVl 




“The Ada programming language shall be the smgle, 
common, high order programming language for... 


“...all computers that are integral to, physi¬ 
cally apart of, dedicated to, or essential in 
real time to a performance of the mission 
of weapon systems... used for specialized 
training, diagnostic testing and mainte¬ 
nance, simulation, or calibration of weapon 
systems... used for research and develop¬ 
ment of weapon systems... Use of validated 
compilers is required... this directive is 
effective immediately’ 

-DoD Directive 3405.2,3/30/87 

“...Defense computer resources used in 
intelligence systems, for the command 
and control of military forces.. .all major 
software upgrades.. .all other applications 
(some exertions) in keeping with the long 
range goal of establishing Ada as the 
primary DoD higher order language... 
waivers to the policy.. .shall be strictly 
controlled and closely reviewed... this 
directive is effective immediately’ 

—DoD Directive 3405.1,4/2/87 



* Ada is a registered trademark of the U.S. Government (AJPO). 


♦ Introducing PCM Version 3 


♦ ♦ 



The Serious Ada Compiler 
For Serious Ada Programmers 


If you're a serious Ada programmer today, or expect to be one—if 
you’re serious about DoD business and those new DoD directives 
—you look for a lot more in your Ada compiler than just validation. 
And the new fourth-generation Alsys Ada compiler Version 3 for 
the PC AT and compatibles gives it to you. 

Take code quality, for example. Version 3 generates the highest 
quality code of any Ada compiler on any machine! Check the PIWG 
benchmarks, and those of U-Michigan. Compare the quality with 
code from the mature C and Pascal compilers you’re used to. Check 
especially where you might need quality most, and where Version 3 
shines—in the implementation of procedure calls and exceptions. 
The elimination of code associated with unused subprograms gives 
you large reductions in code size in many applications. 

Consider the Runtime Executive. True production quality. No 
exception-handling overhead is incurred unless an exception is 
actually raised. The Runtime is optimized for programs running in 
limited memory, or running for a long time. That’s serious. 

Consider the Ada-specific high level optimizer technology (not 
derived from Fortran or C) that removes redundant constraints 
checks and does so much more for code quality. 

Consider robustness and reliability. Version 3 is written in Ada 
and bootstrapped through itself. That’s proof right there that it will 
compile 400,000 lines of Ada code. Beyond validation, we test our 
compilers on hundreds of thousands of lines of extra code—from 
the ACEC tests, and from Ada Repository programs, and from our 
own specially designed code that breaks most other compilers. 

There’s a lot more that’s serious about Version 3. The new Multi- 
Libraiy environment, for example, that maximizes the efficiency 
of programming teams; error messages that correct, instruct, and 
speed the programming process; human engineering; superb 
documentation and customer support. 

Send for our free brochure 
The Many Facets of Quality. 


s; human engineering; sc 
lupport. ^ 


In the US: Alsys Inc.. 1432 Main St.. Waltham. MA 02154 Tel: (617) 890-0030 
In the UK: Alsys Ltd., Partridge House, Newtown Rd.. Henley-on-Thames. 
Oxon RG9 lEN Tel: 44 (491) 579090 

In the rest of the world: Alsys SA. 29 Avenue de Versailles, 78170 La Ccllc 


St. Cloud. France Tel: 33 (1) 3918.12.44 


CIRCLE NO. 105 ON READER SERVICE CARD 


♦ ♦ 


♦ ♦♦!(►♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ 


The Many Facets of Quality. 

-Send me mo;e,infc|Emation on the PC AT Version 3 Compiler. 


-Call me. 


Name- 


Company- 
Address— 
City_ 


-State- 


-Zip- 


Phone- 


PCTJ 987 


Alsys. Inc. • 1432 Main Street •Waltham. MA 02154 
















sMi&and' 














HE'Eafeer 


imd mcjOii 


status ait a 






irr^^er to 
OfJ^' 


ti 


^tter, sevi^®<§gmmt di^ay. A display 


^;3toflu;died if the printer 


cifa bfe of the 


Ricoh K I4$er ‘6000, 


Most laser 






















when the printer has data ready), but 
the reset command switches the input 
tray back to the automatic feed tray. 

Each printer uses cartridge-based 
engines. TTiose based on the Canon CX 
or SX engine, such as the HPs, com¬ 
bine the toner and the organic photo¬ 
conducting cartridge (OPC), or photo¬ 
sensitive drum, in one unit. Printers 
based on other engines separate the 
OPC and toner; this saves the user very 
little cost and complicates shipping by 
increasing the chances for toner to spill 
inside the machine. Because of this, 
danger, the Mannesmann Tally 910 
manual devotes a full 12 pages to re¬ 
packaging instructions. 


paper was inserted, or when double- 
sided or multipass printing was per¬ 
formed, all of the printers except 
Quadram’s QuadLaser I jammed regu¬ 
larly, but the jammed paper could be 
removed easily. 

Except for the QuadLaser I, each 
printer tested has a straight-through 
paper path and manual feed tray for 
heavier paper. All printers provide cor¬ 
rect-order output stackers, except those 
based on the original Canon CX en¬ 
gine, which includes both the original 
LaserJet and LaserJetH-. 

The printers var}' in the complex¬ 
ity of their manual feeders. For exam¬ 
ple, in the HP Series II the user need 
only insert a single sheet, such as an 
envelope or viewgraph, into the man¬ 
ual feeder; no control-panel action is 
required, and the operation takes pre¬ 
cedence over the automatic feed. Other 
printers are more restrictive. For exam¬ 
ple, the Kyocera F-2010 input-tray se¬ 
lection (which contains two input cas¬ 
settes in addition to the manual feeder) 
cannot be changed when data are in 
the printer buffer. When the current 
tray runs out of paper, the operator 
cannot select the other tray or put 
paper into the manual input port to 
finish the print job. On the Genicom 
5010, tlie user can select the manual 
feeder from the front panel (even 


cartridge fonts, but not all of them can 
use cartridge fonts from the HP emula¬ 
tion mode. Because these cartridges 
are proprietary^ the actual shape or 
spacing of the font characters varies 
from printer to printer. These individ¬ 
ual font cartridges were not evaluated 
here because they are not transferable 
among printers. To be fully HP-compat¬ 
ible, an application should be able to 
use downloadable fonts. 

Each printer’s paper-handling sys¬ 
tem contains the input, printing, and 
output sections. The input section con¬ 
sists of an automatic paper-feed tray 
varying in capacity (from 100 to 250 
sheets), paper size, and placement. 
Some of the printers have two auto¬ 
matic paper trays and most have a 
manual feed slot for inserting a single 
sheet of paper—an important feature if 
heavy stock or envelopes are used. 

Most also u.se a correct-order output 
tray with an optional straight-through 
paper path for heavier material. 

The printing section, where toner 
is applied and fused to the paper, 
should be accessible when the cover is 
opened. This is where most paper jams 
occur. Paper quality is directly related 
to paper jams. When new copier paper 
was used in all printers tested, paper 
jams were either extremely rare or 
nonexistent. When folded or wrinkled 


EVALUATING COMPATIBIUTY 

All the printers were tested on a 6-MHz 
PC/AT from a parallel port. All features 
were related to HP emulation. A sam¬ 
pling of popular applications was run, 
including WordPerfect, Personal TgX’s 
PC TgX, Z-Soft’s Publisher’s Paintbrush, 
and Xerox’s Ventura Publisher. In addi¬ 
tion, each of the PC Tech Journal 
laser-printer metrics was run. 

Tests were also run to measure 
times for warm-up and for printing one 
page, ten pages, and a full-page 
graphic. Warm-up time, from power-on 
until the printer is ready to print, in¬ 
cludes any time needed to download 




SEPTEMBER 1987 


PHOTOGRAPHY‘UGHTSTRUCK STUDIOS 









LASER PERFORMANCE 


TABLE 1: Timing Results 



HEWLETT-PACKARD 

GENICOM 

KYOCERA 

MANNESMAN 

TALLY 

OKIDATA 

QMS 

QUADRAM 

RICOH 

Model 

LaserJet H- 

Series II 

5010 

F-2010 

910 

Laserline 6 

80H- 

QuadLaser I 

PC Laser 

Warm-up time (seconds) 

64^ 

28.2 

102 

21 

22 

32 

81 

116^ 

35 

Time to print one page 
of text (seconds) 

23 

22 

23 

21 

20 

27 

21 

24 

25 

Time to print 10 pages 
of text (seconds) 

101 

88 

82 

105 

74 

114 

88 

89 

111 

Pages per minute 

6.9 

8.2 

9.2 

6.4 

10 

6.2 

8 

8.3 

6.3 

Time to print full page 
random dot metric (seconds) 

_ c 

134 

268 

98 

_ d 

_ e 

275 

Failed-^ 

_ g 


Tests were performedfrom a diskette driven by 6-MHz IBM AT. 

" When printer is warm, warm-up time is reduced drastically; tested at 14 ^conds. 

* Timing reflects 59 seconds warm-up plus 57 seconds to get ready for HP emulation 

^ Insufficient memory to run test on 1 page; required 3 pages. First page took 63 seconds to print; second page, 73 seconds; third page, 57 seconds. Total time was 
193 seconds. 

^ Insufficient memory to run test on 1 page; required 3 pages. Pirn page took 136 seconds to print; second page, 129 seconds; third page, 45 seconds. Total time 
was 310 seconds. 

Insufficient memory to run test on 1 page; required 2 pages. First page took 280 seconds to print; second page, 271 seconds. Total time was 551 seconds. It 
crashed after one-half page; had to be reset to continue. 

7 Blank page ejected after 180 seconds. 

^ Acceptedfull page ofgycphics data but printed only one-half graph. Time was 472 seconds. 


The timing tests show speed variations for standard print job performance. A relatively long time is needed for a full-page 
graphic because each dot is defined individually when it is sent to the printer. A text image requires fewer bytes. 


HP-emulation software. The time to 
print one page includes the time to 
download the text for the page. Subse¬ 
quent pages are printed more quickly 
because the text is downloaded as the 
previous page is printed, and two 
pages can be in the paper-feed mecha¬ 
nism at once. The one-page and ten- 
page tests use fonts internal to the 
printer on a 356-word single-page 
WordPerfect text document. 

Table 1 shows the maximum 
speed of each printer—the continuous 
page-per-minute rate, excluding any 
start-up time. In these tests, tlie text is 
transferred to the printer for each page 
printed; any built-in multiple-copy fea¬ 
tures are not used. This more closely 
approximates typical production print¬ 
ing; using a multiple-copy feature could 
produce an artificially high print rate. 

The full-page graphics test is a 
worst-case timing test, representing the 
maximum time needed to download a 
page of data. This test is important for 
desktop publishing applications, which 
tend to be very graphics oriented. 

Beginning with the two HP print¬ 
ers, each laser printer is described in¬ 
dividually below. Each one is com¬ 
pared with the HP standard, judged on 
PCL emulation, and is also evaluated 
for ease of use, durability, and mechan¬ 
ical compatibility. The evaluations do 
not include all the specific features of 
each printer, but instead list the fea¬ 
tures critical to performance (including 
memory capacity), deviations from the 
HP standard, any outstanding feature. 


and any particular lack. Although only a 
sampling of printers is reviewed, the 
criteria and the metrics used here can 
be applied to other laser printers. 



T he LaserJet + really started all the 
excitement over laser printing. The 
follow-on printer to the LaserJet, it is 
based on the same Canon CX engine. 
The advantages of tlie LaserJet + over 
its predecessor are internal: a defined 
PCL having downloadable fonts, as well 
as more user-available memory for 
these fonts and the graphics. 

The Canon CX, the first desktop 
laser-printer engine, was developed 
from the Canon personal copier. Like 
the Canon copier, the LaserJet + houses 
the OPC drum and toner supply in one 
cartridge; it has a 100-sheet letter-size 
paper tray (interchangeable with a 
legal-size tray, a manual-feed slot in the 
rear, and a right-side-up (as opposed to 
a correct-side-up) output-paper catcher. 


The right-side-up output tray al¬ 
lows the operator immediately to see 
and correct such problems as a low 
toner level or dirt on the optics. How¬ 
ever, it inconveniently delivers the last 
page of a document on the top and the 
hrst page at the bottom of the pile. 

The control panel of the LaserJet+ 
has a reset switch and a two-character, 
seven-segment display. The ready light 
flashes as data are sent to the printer 
and the form-feed light comes on to 
indicate that data are in the buffer. 

A manual input slot in the rear of 
the machine provides a straight-through 
paper path. However, the user must 
first select the manual feed paper op¬ 
tion on the front panel. 

Several of the tests in the PC Tech 
Journal LaserJet Software Metrics are 
designed to exceed the Laserjet+’s de¬ 
fined limits. The complexity metric, for 
example, was developed because the 
LaserJet + had halted while printing an 
ordinary, although complex, document. 
Exceeding this limit is considered to be 
an asset rather than an incompatibility. 
The LaserJetH- and Series II pause and 
indicate an error message when the 
complexity limit is exceeded. 

Another opportunity to exceed the 
LaserJetH- specification is in the metric 
testing the number of fonts allowed 
per page. LaserJet-!- limits this number 
to 16; the metric was programmed ar¬ 
bitrarily for 19 fonts. 

The macro nesting and the recur¬ 
sive-macro tests also provide opportu¬ 
nities to better the HP standard, and 


102 


PC TECH JOURNAL 

















nGUREl: Resolution Results 


HEWLETT-PACKARD SERIES II 

4 ^ 

■ 



m 

■ 

HEWLETT-PACKARD LASEiy[ET+ 

44 

■ 



m 

■ 

GENICOM 5010 

44 

■m 

iPILi 


m 

■ 

KYOCERA F-2010 

44 

■ 

m, 

■ 

m 

■ 

MANNESMANN TALLY 910 

44 

■ 


■ 

m 

■i 

OKIDAIA LASERLINE 6 

44 

■ 

■H 

n 

m 

■ 

QMS SMARTWRTTER 80+ 

44 

■ 

BD 

BiB 

m 

- 

QUADRAM QUADLASER I 

44 


■■ 


m 

m 

RICOH PC LASER 6000 

44 

m 


m 

m 

m 


The tested laser printers show distinct variations in resolution. The ability to produce a clear image is important but must be 
balanced with the need to produce a shade of gray in a graphics image comparable to the shade printed by the HP machines. 


many printers passed this metric. How¬ 
ever, because this area is important 
only to the applications developer, a 
laser printer that can exceed the HP 
standard does not add to the standard. 
Applications written above this standard 
do not work across all of the printers 
but are device specific. The graphics 
test could not be completed on one 
page because of the 512KB maximum 
memory limitation. 

The nonsoftware metrics of resolu¬ 
tion, consistency, and black coverage 
are beneficial areas of improvement. 
The LaserJet + performed the worst of 
all printers tested on the solid-black 
test (see figure 1). 


HEWLETT-PACKARD 
SERIES II 



B ased on the new Canon SX eight- 
page-per-minute laser engine, the 
Series II is an improvement over the 


LaserJets- because it is designed as a 
laser printer rather than as a modified 
copier. It is about 30-percent lighter 
and is shorter than die LaserJet+. 

The main paper output is a cor¬ 
rect-order paper stacker. The straight- 
through paper path is activated simply 
by opening the door at the back of the 
printer; and the manual paper feed slot 
is activated merely by inserting paper 
into it. The manual feed option is still 
available as a menu option and, if se¬ 
lected, inhibits the printer from accept¬ 
ing paper from the automatic tray. 

The Series II toner cartridge also 
differs from the one used by the older 
Canon CX engine. The toner has a 
finer grain, allowing a higher-resolution 
image and blacker blacks. The cartridge 
is reshaped to allow a 33-percent in¬ 
crease in toner capacity; and the car¬ 
tridge drum diameter is reduced by 44 
percent, from 2.5 to about 1.1 inches. 
Thus, the expected life of the OPC and 
the toner is approximately the same, 
whereas in the LaserJet-H, toner tended 
to run out before the OPC died. 

This printer also departs from the 
typical clamshell design—the whole 
printer does not open in the middle. 
Only the center part of the top lifts for 
access to the toner cartridge and for 
purposes of clearing paper jams. 

The control panel includes a 16- 
character, alphanumeric LCD display. 
The first two characters show the same 


two-digit status value as on the previ¬ 
ous LaserJet models, followed by a text 
description of the status. A menu has 
been added for selecting such items as 
number of copies and the current font. 
The front panel also has a reset button; 
another button to print a sample of all 
built-in, cartridge, and downloaded (as 
permanent), fonts; and the same four 
status lights as on the previous models 
are present to indicate on line, ready 
(which flashes when the printer is re¬ 
ceiving data), manual (paper feed), 
and that data are in the laser printer 
waiting to be printed. 

The Series II incorporates very few 
changes to the PCL. The only significant 
change is that fonts larger than 30 
points can be defined for downloading. 

In testing, the complexity metric 
failed in the same way and at the same 
place as the LaserJet-!-. Except for the 
full-page graphics metric, which it com¬ 
pleted, all of the test results were iden¬ 
tical to those for the LaserJet-!-. 

This printer comes with 512KB of 
memory, but 1MB, 2MB, or 4MB expan¬ 
sion memory modules are available. 
With any of the expansion-memory 
modules, the Series II can produce a 
full-page, high-resolution graphic. 

The Series II proved to be the fas¬ 
test printer in many of the metrics. It 
was very fast on the macro, complexity, 
and font tests, and much faster than all 
the others in the full-page graphics test. 


SEPTEMBER 1987 


103 













LASER PERFORMANCE 


FIGURE 2: Full-Page Graphics 



In a write/white system, such as 
Genicom (left), the toner is attracted 
to blank areas of the paper. Output is 
lighter than write/black output, such 
as Hewlett-Packard’s (right). 



The push-pop metric draws boxes by pushing the cursor between boxes and then 
popping each location by printing a number inside each box. HP (top) shows the 
correct number position in the center of the box. Genicom (middle) and Mannes- 
mann Tally (bottom) failed to print the graphics boxes correctly. However, they 
did print the numbers, demonstrating that tihey can push and pop locations. 


Although its complexity limit can 
be avoided by reprogramming the ap¬ 
plication on the PC, this is not always 
available to the user and is a nuisance. 
Much more preferable would be for 
HP to increase the number of down¬ 
loadable fonts on a page from 16 to 32, 
as most of the compatible vendors have 
done, especially when the printer has 
4.5MB of available memory. According 
to the manual, the printer can hold 32 
fonts in memory. 

GENICOM 

5010 



T he 10-page-per-minute 5010 printer 
by Genicom Corporation is built on 
the Hitachi engine. When purchasing a 
Genicom 5010, the buyer selects a per¬ 
sonality module that includes the 
printer interface. Both parallel and se¬ 
rial ports were provided with the re¬ 
view module; the active port was se¬ 
lected using a switch mounted on the 
personality module inside the machine. 

The Genicom 5010 is the largest in 
size of any printer tested (15.2 inches 


high by 17.7 inches wide by 19.5 
inches deep). The 200-sheet input- 
paper tray fits totally inside the unit 
from the front and handles either 
letter- or legal-size paper, which elimi¬ 
nates the need for two trays. Because it 
has no straight-through paper path, use 
of labels and heavy stock is not recom¬ 
mended. The manual feeder on this 
printer must be selected from the front 
panel; the reset command cancels any 
request for the manual feeder tray. 

The control panel has a 32-charac¬ 
ter LCD display divided into two rows 
of 16 characters. During normal opera¬ 
tion, seven different pieces of status 
information are continuously displayed. 
Individual buttons are used for all 
switchable options. The Genicom 5010 
has no reset button; this lack, plus a 
long warm-up time, make clearing the 
buffer or recovering from an error 
rather painful for the user. 

The printer has a row of very simi¬ 
lar indicator lights, making it difficult to 
determine which lights are on. Among 
these indicators is an active light that 
shows data are in the buffer. No signal 
indicates when data are being trans¬ 
ferred to the printer. 

The resolution metric illustrates 
the write-white system (see figure 1). 
The single-dot line connecting the 
humps in the letter m is extremely 
faint if it exists at all. Although the 
square with the center dot missing is 
better defined on this printer than on 
any of the others tested, the individual 
dot pattern is very light. This is demon¬ 
strated by the full-page graphics metric 
output (see figure 2). 


The Genicom 5010 failed the 
push-pop metric (see figure 3). It ap¬ 
peared to perform the pushes and 
pops, because the numbers were 
printed in the correct location; but it 
failed to combine the other commands 
correctly with the push-pop. In the 
complexity metric, the Genicom printer 
exceeded the HP limit and passed the 
metric completely when this test was 
run on a printer with the optional 
memory-expansion installed. (See fig¬ 
ure 4 in the preceding article.) 

It also failed the page-size metric. 
Although the positioning of the printed 
characters was correct, both the top 
and bottom margins of the page were 
inaccurate; the top edge of the page 
lost the last number while the bottom 
edge lost the last four numbers. 

In addition, the Genicom 5010 
failed the recursive-macro test. It com¬ 
pleted the first few sections of the 
macro test correctly by defining and 
drawing the graphic macros and re¬ 
turning through two levels of nesting. 
The recursive-macro test, however, 
caused the printer to output two incor¬ 
rect characters, eject a page, and then 
print the other sections of the test. 

The printer also did not execute 
the fonts metric properly; it printed the 
total output in the last font down¬ 
loaded. Again, this does not imply that 
the Genicom 5010 cannot handle 
downloadable fonts (it did execute the 
download metric properly), or that it 
cannot handle multiple fonts (it han¬ 
dled several Ventura Publisher fonts on 
a page). It does indicate, however, that 
some aspect of the font-control pro- 


104 


PC TECH JOURNAL 
























Turn all your PCs into 3270s with one simple mainframe 
software installation. RELAY/3270 isn’t magic, it just works 
like magic. No costly emulation boards for your PCs, no 
additional hardware on your mainframe, no cables required 
to make the connection. 

Your PCs can be 3270s anywhere there’s a phone, at 
your headquarters, at home, in the smallest regional office. 
Anywhere! No need to spend a fortune rewriting 3270 
applications for remote users. And no need to sacrifice the 
fast response time that you demand. But that’s only the 
beginning. 

You can transfer absolutely any type of file 100% error 
free, between your PCs and your VM or MVS mainframes. 
Text files, binary files, spreadsheet files with formulas, even 
COM files. Universal file transfer. No errors. Guaranteed, 
no matter how you are connected to the mainframe; 
asynchronously, 3270 boards or protocol converters. 

RELAY/3270 replaces expensive hardware for each PC. It 
has a one-time low cost. But it isn’t magic. It’s just the smart¬ 
est way to let all your PCs emulate 3270s and transfer files. 

Additional Features 


Turn all your PCs 
into 3270s with 
RELAY/3270* 

o hardware. No cables. 
Universal file transfer. 




■ Applications interface for ■ Background data trans¬ 
programmers mission 

■ Advanced script language ■ TTY, VT100, VT52 terminal 

■ PC resident mode operation emulation 



For 30-Day Free Trial Call 

1-800-84-RELAY. 

(CT 203-798-6755) 

The RELAY Family 


®ili- 


VM Personal Computing 
41 Kenosia Ave. Danbury CT 06810 


CIRCLE NO. 169 ON READER SERVICE CARD 


























































LASER PERFORMANCE 


FIGURE 4: Complexity Results 


.. ''li 

.. 


'\ 

^.'.I.'''.. 


... 


liiiliji,,,,.... 

ASVV\VSKi\S,VS''\'' 

S.. 'I.. ''I.. V. S.. ' ''i., V 


V i,)i ^ M \ s 'I 


H 


MSSNi! -MSSS 


lllliii.. 


Ill. 


The Kyocera F-2010’s processor could not cope with a very complicated page, but failed in a different fashion (left) from the 
HP printers, which printed only the top portion of the design. The Mannesmann Tally 910 failed the test even earlier (right). 


gram cannot handle the metric soft¬ 
ware that performs correctly on both of 
the HP laser printers. 



K yocera uses a laser-print engine 
rated at 10 pages per minute in its 
F-2010. Our tests showed that when it 
prints a document in HP-emulation 
mode, however, the print speed drops 
to 6.5 pages per minute. The unit 
tested had 1.5MB of memory. 


The F-2010 control panel has the 
most buttons of any printer tested. 
However, it has no specific indication 
that data are being received except that 
the LCD menu delivers the somewhat 
generic message, “Thinking”; because 
this message also is used for other con¬ 
ditions—such as off-line or data are in 
tlie buffer—the meaning is ambiguous. 

Although the menu has a 32-char- 
acter display of two 16-character lines, 
messages are rarely greater than one 
word. A picture of the printer on tlie 
control panel displays the current 
choices of input and output ports. 

When data are in the printer’s memory, 
the input or output port cannot be 
changed, negating the advantage of the 
two input trays; when one tray runs out 
of paper, it must be refilled to finish 
the print job rather than simply switch¬ 
ing to the other tray or inserting a 
page into the manual feed slot. 

The F-2010 severely curls the 
paper, making multipass printing very 
tedious. When the temperature of the 
ftiser roller was reduced from the fac¬ 


tory setting, the paper still was very 
warm and continued to curl. Switching 
to the straight-tlirough exit port slightly 
reduced the curling. 

The toner supply lasts for about 
3,000 pages of double-spaced text. In 
this printer, as on many of the other 
printers with separate OPC and toner- 
cartridge units, a bottle collects waste 
toner that b}^asses the OPC mecha¬ 
nism. Other printers produce vei*)^ little 
waste toner, but in the F-2010 the bot¬ 
tle was nearly filled. If this collection 
bottle is not replaced, toner could spill 
into the machine. 

The operation of the F-2010 is also 
distracting. Fan noise is substantial, and 
when the heater on the fuser pulses on 
every few seconds, all of the lights in 
die room that are on the same circuit 
flicker noticeably. 

The printer performed very well 
on the metrics, passing all except for 
the complexity metric (see figure 4). 
The processor could not keep up with 
die pattern and began shedding some 
of the load, producing an unusual pat- 


^106 


PC TECH JOURNAL 
























































































































































































































































































































































































































































































































































Any Software. Any Mo nitor. Any Time. 

r 800x560 1 

I 640x480 I 



Any Software On An RGB Monitor 


Any Software On A Monochrome Monitor 






Any Software On A 
Multi^c Monitor 


Trademark: ATI, EGA WONDER-ATI Technologies Inc., IBM-International Business Machines Ina. Compaq-Compaq Computer Corp., MultiSync-NEC Home Electronics Inc., 

Windows-Microsoft Inc., GEM-Digital Research Inc.. 1-2-3, Symphony-Lotus Development 

Corp.. Ventura Publisher-Xerox Corp.. PageMaker-Aldus Corp., SmarTerm- Person Inc.. VTerm-Coefficient Systems Corp., AutoCAD-Autodesk Inc., Hercules- Hercules Computer Technology. 


(1) Any Software. Any Monitor. Any Time applies to IBM digital monitors, graphics, standards. 

(2) 132 columns not available on 25 kHz monitor. 

(3) EGA. MDA, Hercules software displayed via Interlacing on RGB and Composite monitors. Flickering effect of Interlacing reduced with anti-glare screen Filter. All other modes are non-interlaced. 

(4) Via optional Compaq Expansion Module - Suggested list price - $99. 

(5) Runs VGA Modes 11 & 12 on Multisync Monitors. 


Ifow; EGA WONDER displays VGA 
on multisync monitors. 

Without switching or having to take the system 
apart, without having to use specific monitors 
for specific programs, the EGA WONDER, with 
SoftSense Automatic Mode Switching, upgrades 
the EGA standard and maintains downward 
compatibility to older standards on any monitor. 

EGA WONDER now runs the new IBM VGA^ 
graphics standard plus 800x560, 752x410 
and 640x480 high resolution text and graphics on 
Multisync type monitors and 752x410 resolution on 
25kHz 400 line monitors providing a WYSIWYG 
display for popular desktop publishing software such as 
PageMaker and Ventura Publisher. With high resolu¬ 
tion drivers to enhance Windows, AutoCAD, GEM, 1-2-3 
and Symphony, EGA WONDER displays desktop 
publishing, computer aided design, spreadsheets and 
icon operating environments wifii up to twice the 
normi resolution of EGA on MultiSync monitors. 
EGA WONDER’S expanded 132 column capability 
allows Lotus users to display a year-at-a-glance of 
information on 1-2-3 and Symphony spreadsheets. 
Connectivity support to mini and mainframe 
computers is provided because EGA WONDER 
runs SmarTerm and VTerm in 132 columns. Word 
processing in 132 columns is fully supported on 
WordStar and WordPerfect. 


EGA WONDER supports 800x560, 752x410 and 
640x480 modes on MultiSync monitors, 752x410 on 
25kHz400 line monitors and EGA, CGA, MDA, Hercules 
and 132 column modes on MultiSync, EGA, 400 line 
25kHz2, RGB3, TTL Monochrome, Composite^, Com¬ 
paq Portable^ and IBM PC Portable monitors. 

EGA WONDER represents a new beginning for 
users of IBM PC/XT/AT, IBM Series 2 Model 30, or 
compatible computers and is now available from 
all major computer stores. Call us today at 
( 416 ) 756-0711 for more information. 



ATI Technologies Inc. 
3761 Victoria Park Ave., 
Scarborough. Ontario. Canada MIW 3S2 
Tel: (416) 756-0711 Fax: (416) 756-0720 
Tlx: 06-966640 (ATI TOR) 



Technology you can Trust. 


CIRCLE NO. 206 ON READER SERVICE CARD 








































































LASER PERFORMANCE 


tern of gaps in the output. The printer 
did not stop as commanded and the 
pattern continued onto the beginning 
of the next page. The complexity limit 
of the Kyocera printer was below the 
LaserJet + for this metric. 

In the fonts metric, the Kyocera 
F-2010 allowed more than the HP limit 
of fonts on a page. It printed all 19 
fonts programmed into this metric. 

This is the only printer that broke 
down during the testing program. Al- 
tliough the repair person claimed that 
the failure rate on this model is less 
than for other printers, it broke down 
again a couple of thousand pages later. 
The problem appeared to be a loose 
cable, which could have happened to 
any of the other printers. 


mannesmaMTOm 

910 



T he Kyocera engine also powers the 
10-page-per-minute Mannesmann 
Tally 910. This printer can be ordered 
with either a serial or parallel port. 

The printer tested had a parallel port 
and 512KB of memory. The optional 
1MB of memory expansion required to 
print full-page graphics was not tested. 

The control panel consists of three 
buttons, a 16-character display to report 
printer-status and error conditions, and 
four lights, including a most beneficial 
on-line light that flashes when data are 
being received by the printer. The but¬ 
tons on the panel are confusing be¬ 
cause their functions change whenever 
the user selects another menu item. 

A labyrinthine menu system con¬ 
trols printer functions. Errors are de¬ 
scribed either by a clearly worded 
message—or by a printer crash, pro¬ 
ducing an indecipherable error mes¬ 
sage or no message at all. Because the 
printer has no reset button, a crash 
requires a power off and on. 

The 910 has a manual feed slot 
and two 250-sheet paper trays, which 
can be set to switch from one to the 
other when the currently used tray 
runs out of paper. Like the Kyocera, 


nGUR£5: Font Results 


This is amrlO scaled by half. 

This is ambxlO scaled by half. 

This is amttlO scaled by hall. 

This is amsIlO scaled by half. 

This is amrlO scaled by 1. 

This is ambxlO scaled by 1. 

This is amttlO scaled by 1. 

This is ajnsllO scaled by 1. 

This is ambxlO scaled by 2. 

This is amttlO scaled by 2. 

This is amsllO scaled by 2. 

This is amrlO scaled by 3. 

This is ambxlO scaled by 3. 

This is ainttlO scaled by 3. 

This is amsllO scaled by 3. 

This is amrlO scaled by 4. 

This is ambxlO scaled by 4. 
This is amttlO scaled by 4. 
This is amsllO scaled by 4. 

This is amrlO scaled by half. 

This is ambxlO scaled by half. 

This is amttlO scaled by hall. 

This is amsllO scaled by half. 


The Mannesmann Tally 910 could 
print all 19 fonts in the fonts metric, 
exceeding the HP downloadable font 
limit of 16 changes per page. 


the Mannesmann Tally curls tlie paper, 
causing problems with multipass feed¬ 
ing and the output stacker. Like the 
Kyocera, the fan is noisy and the fuser 
heater pulses on every few seconds, 
causing room lights to flicker. 

The toner cartridge lasts for about 
3,000 pages of double-spaced text. The 
toner is slightly heavier than in the HP 
Series II, producing slightly darker 
characters and less detail. 

The 910 correctly performed the 
fonts metric, surpassing the HP limit of 
16 and printing all 19 fonts (see figure 
5). It also correctly performed the 
download-font test. The resolution met¬ 
ric print-out produced a very dark set 
of patterns, with about half the detail of 
the LaserJets’ output (see figure 1). 

Fine details disappeared, but black 
areas were solid. 

The printer failed die push-pop 
metric (see figure 3). It printed only 1 
of die 22 boxes, and that box was in 
the wrong place. However, the num¬ 
bers 1 through 21 appeared in the ap¬ 
propriate places, demonstrating that the 
printer can push and pop. 

The complexity metric failed, as 
well (see figure 4). The 910 accepted 


the commands until its processing ca¬ 
pability was exceeded, which was at 
less than half the number of vertical 
lines printed by the LaserJet+. Then it 
purged the command buffer and con¬ 
tinued with the next commands. The 
page-size metric failed on the top and 
bottom of the page; it printed an extra 
character at the top and two extra char¬ 
acters at the bottom. 

All macro tests ran but one; the 
recursive-macro test failed because die 
two levels of macro recursion available 
in the HPs were missing. The 910 also 
printed the full-scale graphic on three 
pages, which corresponds to its 512KB 
of installed memory. 



C ompact, lightweight, and quiet, the 
LaserLine 6 is a light-duty printer 
suited for a small workstation. An input 
tray on the unit’s right side enables it 
to fit in an area with limited depth. 

A six-page-per-minute Ricoh en¬ 
gine powers the LaserLine 6. The 
printer supports a user-installed serial 
or parallel port. The base printer has a 
minuscule 128KB memory and can be 
expanded only to a limit of 512KB. We 
used a LaserLine 6 with a parallel port 
and 512KB memory. 

The LaserLine 6 cannot be used 
for desktop publishing without the op¬ 
tional memory expansion. Even then, 
the printer randomly halts, indicating a 
data-overflow error, when printing 
medium-sized documents (approxi¬ 
mately 30 pages). When this happens, 
pressing the reset button causes the 
printer to lose one page—printing in¬ 
stead a page of garbage—before con¬ 
tinuing with the rest of the document. 

The reset button is time depend¬ 
ent; if held down for less than two sec¬ 
onds, it clears the status indicator; if 
held down for two seconds or longer, 
it clears all printer memory. In addition 
to the reset button, the LaserLine’s con¬ 
trol panel has a single-character, 
seven-segment status display. Some sta¬ 
tus codes require two characters and 
are identified by sequenced flashing of 


108 


PC TECH JOURNAL 





















The Key TiDnic® KB 3270/PC I^boaid... 


The Final Step m¥)ur 
McioTo-Mainframe Connecticai. 



Now that you've made a major investment by 
allowing your micro computers to access your 
mainframe, take the final step by adding a 
Key Tronic KB 3270/PC Keyboard. 

Plug compatible 
with the IBM* PC, 

XT and AT, the KB 
3270/PC was 
developed to work 
in conjunction with 
micro-to-mainframe 
emulation packages 
from vendors such 
as DCA (IRMA^"), CXI, FORTE' and ATTACHMATE. 

By providing 122 keys including 24 function 
keys, the keyboard allows for easy and efficient 
operation resulting in more operator productivity. 

It's another input solution from Key Tronic, the 
world's largest independent manufacturer of full 


travel keyboards, and a supplier of a full line of 
integrated input devices. 

For more information about the KB 3270/PC, 
see your Key Tronic dealer ... or call us toll-free at 
1-800-262-6006. (7:00 a.m. to 
3:00 p.m. Pacific Time) 

*1BM, XT and AT are registered 
trademarks of IBM Corporation. 

*IRMA is a registered 
trademark of Digital 
Communications 
Associates, Inc. 


key tronic 

The Responsive Input Company 


P. O. Box 14687 • Spokane, WA 99214 • USA* (509)928-8000 -TWX 510 773-1885 


CIRCLE NO. 239 ON READER SERVICE CARD 









LASER PERFORMANCE 


the character display, making it diffi¬ 
cult, for example, to detect whether an 
error code is 2 or 22. The front panel 
also has a light indicating that data are 
in the printer, but no indication when 
data are being received. 

The LaserLine 6 has a 150-sheet 
open-paper tray in addition to a 
manual-feed slot; it automatically uses 
paper inserted into tlie manual feed 
slot first. Clearing a paper jam is not as 
easy as in other printers; the user must 
not only open the printer, but also 
raise the hinged toner mechanism in 
order to access the paper path. 

The toner supply is ver^^ small, 
providing fewer than 1,000 pages; the 
refill indicator lighted after 400 pages 
in the test. The toner-refill kit includes 
a plastic handle and ratchet mechanism 
to open the toner cartridge. 

This printer correctly performed 
all of the metrics, except for the full- 
page graphic, in which the printer 
stopped on a data overflow and re¬ 
quired operator intervention to con¬ 
tinue printing. With tlie basic 128KB of 
memory, eight pages were required to 
print the entire graphic, which filled 
the buffer after completing only 1.25 
inches of a full page. With memory 
expansion to the total 512KB, the 
printer completed the graphic on only 
two pages. The LaserJetT, with 512KB 
memory, required tliree pages to com¬ 
plete the graphic, indicating that more 
of the LaserLine’s memory is directly 
available to the user. The fonts metric 
also exceeded the Laserjet+ limit of 16 
fonts per page, with die LaserLine 6 
completing all 19 fonts. 



L ike the Laserjet+, this printer is 
based on the eight-page-per-minute 
Canon CX engine. This early Canon 
engine is rather large for its speed and 
lacks a correct-order output tray. 

The differences between the QMS 
SmartWriter 80+ and the LaserJet + are 
mainly in the interface electronics and 
the command language. The Smart- 


Writer 80+ has other emulations be¬ 
sides the HP LaserJet + and many inter¬ 
nal fonts. The printer-control logic is 
based on a 68000 computer with 2.5MB 
of memory, but not all of it is available 
in HP emulation. The warm-up time 
includes the time to produce two status 
sheets, which are printed each time the 
printer is turned on; because the 
printer does not have a reset button, 
this could be fairly often. 

The control panel uses a two- 
character, seven-segment display. When 
data are being sent to the printer, the 
code “PA” is displayed. However, the 
printer makes no indication that it has 
received data or has data in its print 
buffer. Unlike tlie HP printers, data in 
the buffer print automatically after 30 
seconds of idle time. 

The control panel also includes a 
font-print button for printing a com¬ 
plete sample of all internal, cartridge, 
and downloadable fonts; each font sam¬ 
ple is printed on a separate page. This 
font-print button, similar to the adja¬ 
cent form-feed button, can easily be 
activated by mistake, causing 20 or 30 
sheets to be printed. To recover, the 
printer must finish producing the font 
samples, consuming two or three min¬ 
utes; or it must be turned off and re¬ 
started, which takes only one minute 
but loses any downloaded fonts. 

The operator may select the man¬ 
ual feed option from the control panel. 
If paper is inserted into the manual 
feed slot without help from the control 
panel, the printer not only automati¬ 
cally uses that paper, but also feeds a 
sheet from the paper tray—and the 
output is not always straight. For a 
straight-through paper path, the opera¬ 
tor also must select the manual feed on 
the control panel. The SmartWriter 80+ 
curls the paper very little. 

The resolution metric produced 
clean, consistent results. However, the 
push-pop metric failed; the printer cor¬ 
rectly produced tlie boxes and the 
numbers inside the boxes, but the 
whole pattern shifted left, so the num¬ 
ber 21 crept off the edge of the paper. 

The SmartWriter 80+ also failed 
the rules and patterns metric; it drew 
the patterns and the shades of gray cor¬ 
rectly but did not accurately position 
the first three blocks in the shades-of- 
gray test. Some of the positioning- 
command text printed, indicating that 
the printer misinterpreted the position¬ 
ing commands for this section of the 
test. The printer was able to recover 
and complete the rest of the test. 

The complexity metric ran cor¬ 
rectly to completion, which is not sur¬ 


prising given the power of the 68000 
printer controller. In the recursive- 
macro test, the macro was unable to 
call itself to two levels, although the 
printer was able to perform tlie other 
examples of two-level nesting. 

The SmartWriter 80+ failed the 
fonts metric, printing 23 lines (the cor¬ 
rect number) in die default font rather 
than in the fonts downloaded by the 
metric. It did produce the full-page 
graphic, demonstrating that at least 
1MB of graphics menior>^ is available to 
the user, but the output filled one page 
and incorrectly extended 0.22 inch 
onto the following page. 

The page-size metric showed that 
die QMS printer’s margin settings differ 
from HP’s margins on all four sides. 
Although the SmartWriter 80+ has the 
ability to adjust margins, they did not 
change when using HP emulation. In 
addition, the characters that straddled 
the edges were clipped in midcharac- 
ter. HP printers do not extend beyond 
the edges of the printable area. 

In several of these failed tests, the 
printer had problems matching the 
page layout of the HP printers. The fail¬ 
ure of such basic compatibility metrics 
shows a lack of attention to detail. 


QUADRAM 
QUADLASER I 



T he eight-page-per-minute QuadLaser 
I conies with 2MB of memoiy and 
either a serial or parallel port. It has 
no straight-through paper path; paper 
output is always in the correct-order 
output tray on top of the printer. It 
also is the only laser printer in the 
group tested here that has no option 
for using legal-size paper. 

The QuadLaser I handles paper 
very gently, with almost no curl on the 
page. It also performs multipass print¬ 
ing consistently, without any paper 
jams or wrinkling. During testing, it 
accepted severely wrinkled paper with¬ 
out jamming, although the print-out 
was somewhat distorted by the wrin¬ 
kling. None of the other tested printers 
handled paper as well. 


110 


PC TECH JOURNAL 











Lattice 

( >1 •< X >I > SniJKigatiwnd 


Lattice 


Lattice 

dBCniPIus 


UtiliU 


^ Lattice 

-RPGttC 


C Compiler 


Lattice” 

SecnrtDisk 


Lattice ';^ , 
Screen Editor 


Our software comes with something 
no one else can offer. 


When you join the Lattice family 
of customers, you’ll discover that 
your software purchase is backed 
by more than just an excellent 
warranty It’s backed by unparal¬ 
leled technical support. By a total 
commitment to your success and sat¬ 
isfaction. And by Lattice’s dedication 
to excellence in products and services. 

Unlike other software manufacturers 
who charge you for services after you’ve 
purchased their product, Lattice offers 
a unique package of support programs 
at a price we can all live with—FREE. 

Lattice Bulletin Board Service 

LBBS is our 24-hour a day bulletin 
board system that allows you to obtain 
notification of new releases, general 
inforrhation on Lattice products, and 
programs for the serious user. And if 
you’ve ever experienced the frustration 
of having to wait a year or more for 
a new release (that has corrected a 
bug), you’ll really appreciate LBBS. 
Because with this service, you can 
actually download the latest program 
fixes to instantly eliminate any bugs 
discovered after release. 


Available through dealers and 
distributors worldwide. 


Lattice Service. 


Technical Support Hotline 

Responsible, dependable and capable 
Support Representatives are only a 
phone call away. You will talk to a highly 
skilled expert who is trained to answer 
any questions you have relating to 
specific Lattice products. Remember, 
your complete satisfaction is our goal. 

McGraw-Hill BIX7” Network 

The Byte Information Exchange (BIX) 
Network is a dial-in conference system 
that connects you with a Special Interest 
Group of Lattice users. The nominal 
one-time registration fee allows you 
to BIX-mail your questions—^via your 
modem—directly to Lattice. Or you 
can post your questions in the con¬ 
ference mode for Lattice or other users 
to answer. Once again, you have 
24-hour access. 


You Also Receive: 

■ Timely updates and exciting 
enhancements ■ 30-day, money- 
back guarantee ■ Lattice Works 
Newsletter ■ Technical Bulletins 

■ Access to Lattice User Groups 

Lattice has developed more than 50 
different Microcomputer software tools 
that are used by programmers world¬ 
wide. We were there for every MS-DOS 
release. We’re there now for OS/2. And 
we’ll be there for the next generation 
of technical changes. But most of all. 
Lattice is there for you. 



Lattice, Incorporated 
2500 S. Highland Avenue 
Lombard, IL 60l48 
Phone: 800/533-3577 
In Illinois: 312/916-1600 
Subsidiary of SAS Institute Inc. 

CIRCLE NO. 160 ON READER SERVICE CARD 


Lattice 






































LASER PERFORMANCE 


The control panel has only one 
switch on the front, which is used to 
go on-line and off-line as well as to 
issue a form feed. The latter is 
achieved by pressing it twice in quick 
succession. The status display consists 
of one digit plus several symbols. 

The QuadLaser’s lack of a reset 
button is a real shortcoming because 
turning off the power to reset means 
reloading the HP emulation and all of 
the downloaded fonts, which can take 
several minutes. The printer also has 
no font-cartridge slots; all fonts must be 
downloaded, except for the built-in 10- 
pitch Courier font, which is inaccessi¬ 
ble from the HP emulation. 

Although future versions will have 
hardware fonts, QuadLaser’s HP emula¬ 
tor software currently resides on the 
PC and is downloaded each time the 
printer is turned on. Due to a large 
input buffer, accidentally printing a bi- 
nan’ file can eject hundreds of pages 
unless the printer is reset. 

The printer is designed to be con¬ 
trolled from the PC and provides sev¬ 
eral utility programs and more than 
140 downloadable fonts in two primar}^ 
type-style families: Times Roman and 
Helvetica. Each st\4e is provided in 10 
sizes (6 through 36 points) and three 
weights: normal, bold, and italic. 

The Ricoh engine of the Quad- 
Laser I does not use the typical clam¬ 
shell design for accessibility; instead, 
the OPC and toner are loaded from the 
front through an insecurely suspended 
drawer. While operating, the printer 
sounds like a loose conveyer belt. 

This printer executed both the 
push-pop and the fonts metrics. How¬ 
ever, the complexity metric failed—the 
QuadLaser I printed nothing at all. 

The page-size metric produced 
correct output on the top and sides but 
the bottom limit was set too large, with 
three extra digits printed at the bottom 
of the page. The rules and patterns 
metric failed because the QuadLaser I 
did not print the single-dot-width ver¬ 
tical-rule test or the single-dot rule test. 
The blacks printed ver)^ dark, even, and 
solid. In the macro metric, the Quad- 
Laser I allowed more than two levels of 
macro nesting, did not permit the two 
levels of macro recursion allowed by 
HP, and completely failed to execute 
the macro-redefinition test. 

The full-page graphic metric 
printed only a blank sheet; and the 
full-page Mandelbrot printed veiy 
lightly. These results show that al¬ 
though the printer is capable of print¬ 
ing full-page graphics, it has trouble 
with an oversize picture. 



R icoh Systems uses its own second- 
generation, six-page-per-minute 
printer engine in its PC Laser 6000. 

Both serial and parallel ports are stan¬ 
dard with the printer. This small, light¬ 
weight, and inexpensive printer is suit¬ 
able for a PC workstation. It is not de¬ 
signed for long print runs or shared 
use, and it runs at a slightly slower 
print speed than the HP printers. 

The printer we used for testing 
purposes had the standard 512KB of 
memor)^; the memoiy expansion up to 
2MB was not tested. The printer was 
evaluated 'with its optional Laserjet+ 
emulation card. It stopped functioning 
after about 1.5 hours of continuous 
use, and then began working again 
normally after a rest period, except for 
a developed squeak. 

The control panel has a two-digit 
display that makes changing modes and 
selecting front-panel options rather 
ctyptic. The user must consult the man¬ 
ual to decipher options and settings 
that are identified only by numerical 
codes on the menu. Setting the printer 
to default to the HP-emulation mode 
requires a key sequence that is not 
described in the manual, but was sup¬ 
plied by Ricoh’s technical support 
group. The control panel includes a 
reset button and a data-eotry^ light, both 
of which are major conveniences. 

The PC Laser 6000 has a 150-sheet, 
uncovered input-paper tray that can be 
refilled without being removed. The 
tray can handle letter- or legal-size 
paper, either of which is selected by a 
knob on the front panel of the printer. 
A sheet of paper inserted into the man¬ 
ual feed slot takes precedence over the 
automatic feed tray. 

The toner is rated for 1,500 sheets 
(750 sheets the first time). On the 
tested model, the original toner supply 
ran low after 400 sheets, turning on the 
replenish-toner light. 

The PC Laser 6000 failed the 
macro, page-size, and the full-page 
graphic tests. For the full-page metric, 
the printer accepted all of the data but, 


due to lack of memon^ printed only a 
half-page of the data and discarded the 
rest. This is much less desirable than 
printing the information on several 
pages. The other printers with memor>^ 
limitations that we tested completed 
printing the data on several pages. 

The output for the resolution met¬ 
ric is shown in figure 1. Fine lines are 
clear and crisp, but in the uniform, 
high-resolution patterns, a good deal of 
printer-induced variation is evident. 

PRINTER VARIATIONS 

Because of the large variety of laser 
printers available, selecting the best 
one is a compromise based on the 
user’s particular requirements. This 
evaluation was made for a technical 
application, with a bias toward desktop 
publishing. It was limited to a sampling 
of printers that provide HP emula¬ 
tion—of paramount importance to so¬ 
phisticated users. 

Durability varies among the print¬ 
ers tested. The HP printers appear du¬ 
rable enough to support medium-duty 
iise among a limited group of users. 
The Okidata LaserLine 6 and the Ricoh 
PC 6000, botli based on the six-page- 
per-minute Ricoh engine, have mark¬ 
edly lighter construction and smaller 
toner capacity, limiting their use to 
light duty only. The Genicom 5010 is at 
die other extreme; it supports heavy- 
duty use among many individuals. 

As for mechanical capability, all 
the printers tested, except the Quad- 
ram QuadLaser I, have a manual feed 
slot and can handle legal-size paper. 
The HP Series II, Ricoh PC Laser 6000, 
and Okidata LaserLine 6 all default to 
the manual feed slot when paper is in¬ 
setted. Without this capability, the op¬ 
erator must select the manual feed op¬ 
tion from the control panel. 

The reset button and data-entry 
indicator are important controls not 
available on all the laser printers. The 
Genicom, Kyocera, Mannesmann Tally, 
QMS, and Quadram printers do not 
have a reset button—a substantial fail¬ 
ing because situations that require re¬ 
setting the printer happen frequently in 
a development environment. This omis¬ 
sion is especially problematic with the 
Quadram QuadLaser I printer because 
the HP emulation is software that must 
be reloaded from DOS whenever the 
printer is turned on. 

Although every printer tested has a 
light to indicate that the printer buffer 
contains data waiting to be printed, 
many of the printers also have a light 
that flashes when data are being ac¬ 
cepted by the printer. This is an impor- 


112 


PC TECH JOURNAL 













GElVf: 3 YEARS AND GOING STRCNG 

W e first released our Graphics Environment Manager^"’ (GEM) software three years 
ago and it’s time to let you know what we have achieved. I also want to thank the 
software developers who have selected from Digital Research® a solution for their 
graphics programming needs. I extend a personal invitation to all software developers 
to join the group of over 200 software vendors shipping GEM software compatible 
products. GEM provides an easy approach to the integration of graphics within 
applications while maintaining the speed and performance that today’s customers 
demand. 

Dick Williams 
President 

Digital Research Inc. 



' \ 
Co 


GEM: POWER, PERFORMANCE AND PROGRAMMER FRIENDLY 


GEM: Setting The Standard 
For Desktop Publishing 

W hat do the top Desktop 

Publishing applications have in 
common? GEM! GEM provides a 
software developer with the ability to 
concentrate on the features and 
functionality of his application while 
leaving support of graphics hardware 
to a mature full-featured virtual 
device interface, the GEM VDI. And 
there’s more! The GEM Application 
Environment Services (AES) 
provides the ability to integrate 
windows and drop down menus into 
your user interface with a minimum 
of effort. That’s why the FIRST, the 
LATEST, and the BEST desktop 
publishing applications sold for 
IBM® PC’s are all GEM-based 
products. Including: 

DAWN^"" from Compugraphic® 
DESIGNER™ from Archetype 
GEM® DESKTOP PUBLISHER™ 
from Digital Research Inc. 
PAGEmaster™ from Advanced 
Vision Research, Inc. 

THE OFFICE PUBLISHER® 
from Laser Friendly, Inc 
VENTURA PUBLISHER™ 
EDITION from Xerox® 


GEM: Extensive Driver Support 

S oftware analysts see the emerging 
graphics application market as 
continuing its upwardly spiraling 
growth. Support of the latest devices is 
key to any application seeking to make 
an impact in this highly competitive 
area. The key to your success is DRI’s 
commitment to the support of the latest 
technology. GEM supports over 150 
devices including hi-res displays. 


laserwriters, postscript, dedicated 
graphics processors, scanners and 
metafiles. That’s one of the reasons 
McDonnell Douglas chose GEM as 
the graphics environment for its 
CAD package CROSSROADS™ and 
Personal CAD Systems® chose 
GEM for PC-CAPS®. More than 15 
CAD/CAM applications have been 
developed under GEM because 
GEM PROVIDES HIGH 
PERFORMANCE SOLU¬ 
TIONS TO PROFESSIONAL 
PROGRAMMERS. 



GEM Programmer’s Toolkit: Tools 
That Work with Any Compiler 

G em allows you to work with any 
popular compiler you choose. 
GEM applications have been written in 
MODULA II, C, PASCAL, 
FORTRAN, ADA, TURBO PASCAL 
and TURBO C. The GEM® Program¬ 
mer’s Toolkit™ provides a source level 
sample set of bindings, complete 
documentation, a utility to help you 
visually build your user interface and 
more. If you need help, contact our 
personalized software developer 
support program. 


Over 1.4 Million Installed GEM 
Software Customers and Growing 
Rapidly. 

T here are over 200 GEM 
applications shipping for the 
IBM PC and compatibles, and more 
than 700 applications available for 
the ATARI® ST™ GEM PRO¬ 
VIDES SPEED AND PERFORM¬ 
ANCE ON 8088/8086S THROUGH 
TO 80386s. The programs that you 
develop today will run on your 
customers’ IBM PC/XT’s, AT’s, 
IBM Personal System/2™ micro¬ 
computers and compatibles. GEM 
applications released over two years 
ago for the IBM PC work today on 
the Personal System/2 with no 
modifications. Further, Digital 
Research is committed to providing 
support of a consistent Application 
Programming Interface under future 
environments. Your programmers 
will not have to rewrite major 
portions of their code as you reach 
out to support newly emerging 
standards. 


GEM: The Programmer’s 
Solution 

J oin the ranks of successful software 
developers who have already 
released GEM applications. Contact 
DIGITAL RESEARCH or your 
distributor for additional information 
on the GEM PROGRAMMER’S 
TOOLKIT, available at a retail list 
price of only $500. 


Call 1-800-443-4200 


33 DIGITAL RESEARCH* 

GEM and Digital Research arc registered trademarks, and GEM Desktop. GEM Desktop Publisher and GEM Programmer's Toolkit arc trademarks of Digital Research Ine. IBM is a registered trademark 
and Personal System/2 is a trademark of International Business Machines Corporation. All other product names and company names are registered trademarks or trademarks of their respective owners. 

Copyright © 1987. Digital Rc.scarch Inc. All rights reserved. 

CIRCLE NO. 220 ON READER SERVICE CARD 






LASER PERFORMANCE 

tant indication for large graphic data 
files that take several minutes to trans¬ 
fer, as well as for applications, such as 
desktop publishing, that take consider¬ 
able time to format before data are 
sent to the printer. 

Speed varies among printers, with 
the HP Series II performing best over¬ 
all. The greatest variations in timing 
were in the pages-per-minute and the 
graphics tests. We found that the mea¬ 
sured speeds of the printers are close 
to the manufacturers’ rated speeds, ex¬ 
cept for the Kyocera, which performed 
below its rating (6.4 pages per minute 
rather than the rated 10). 

The HP LaserJet^ and Series II 
have 512KB of memory, which is the 
minimum required to run desk¬ 
top-publishing applications. The Series 
II can be expanded to 4.5MB of mem¬ 
ory. The Okidata has 128KB memory 
but can be expanded to 512KB. All the 
others are available with between 
512KB and 2.5MB of memory. 

All of the printers will certainly 
run any of the current crop of applica¬ 
tions software. However, more sophisti¬ 
cated laser-printer features reveal dra¬ 
matic differences. All the manufacturers 
of the tested printers claim HP emula¬ 
tion, but the PC Tech Journal LaserJet 
Software Metrics show that all have 
some level of incompatibility. 

Some of the laser printers outper¬ 
form the HP standard in the fonts and 
complexity metrics. The number of 
fonts allowed per page is an important 
consideration because each change in 
size (such as for foomotes or tides) or 
weight (for bold or italic) constitutes a 
new font. The HP’s limit is 16 fonts per 
page. The Kyocera, Mannesmann Tally, 
Okidata, Quadram, and Ricoh printers 
correcdy printed all 19 fonts included 
as part of the fonts metric—and proba¬ 
bly could have printed more. The 
Genicom 5010 printed all of the lines 
of text using the last font downloaded, 
and the QMS SmarfWriter 80+ printed 
only one font, which was not even one 
of the downloaded fonts. 

In measuring complexity, the 
Genicom, Okidata, and QMS printers- 
came through admirably, all completing 
the vertical line design demanded by 
the complexity metric. This metric de¬ 
liberately exceeds the HP limit of com¬ 
plexity to show the capabilities of com¬ 
patible printers. The HP printers failed 
this test by not completing the design. 
The Kyocera F-2010 not only printed 
the design incorrecdy, but then did not 
flush the buffer and printed trash on 
the following page. The Mannesmann 
Tally 910 completed less than half of 


the design, and the Quadram Quad- 
Laser I failed to print anything at all. 
The Ricoh printer also failed to com¬ 
plete the pattern correctly. 

All printers passed the resolution 
metric, but substantial variations were 
noted among the printers. 

The macro metric spelled doom 
for the Genicom, Mannesmann Tally, 
Quadram, and Ricoh printers. Ricoh’s 
PC Laser 6000 got caught in the recur¬ 
sive macro and continued printing 
pages until it was turned off manually. 
When a printer fails this kind of test, it 
should be turned off and restarted to 
ensure that the printer does not remain 
in an unstable condition. 

The push-pop metric was unsuc¬ 
cessful on the Genicom, Mannesmann 
Tally, QMS, and Quadram printers. The 
Genicom and the Mannesmann Tally 
printers performed the push-pop in¬ 
structions correctly but failed the met¬ 
ric because of the interaction with 
other commands in ±e tests. 

The Genicom, Mannesmann Tally, 
QMS, and Quadram, and Ricoh printers 
could not handle the page-size metric. 

A lack of attention to details, rather 
than any fault of the printer engines, 
appeared to cause these failures. 

QMS and Quadram printers failed 
the rules and patterns metric, which 
was designed to reflect the most basic 
compatibility characteristics. By failing 
this test, and the page-size test, QMS 
and Quadram show a lack of commit¬ 
ment to HP compatibility. 

The full-page metric proved too 
difficult for most. The QMS SmarfWriter 
80+ printed a full page with irrelevant 
print-out on the next page. The Quad¬ 
ram QuadLaser I did not print anything 
at all. The Ricoh PC Laser 6000 printed 
only half a page, discarding the rest. 
The Okidata LaserLine 6, Mannesmann 
Tally 910, and HP Laserjet+ took sev¬ 
eral pages to complete the print-out, 
but were able to print all of the data. 
The Genicom, HP Series II, and Kyo¬ 
cera printers had enough memory to 
print the correa output 

HP has the most experience pro¬ 
ducing desktop laser printers, which it 
has used to improve its produa, pro¬ 
ducing a true second-generation laser 
printer in the Series 11. HP carefully 
evaluated form, fit, and function to pro¬ 
duce a superior product. 

Successfully using the full capaci¬ 
ties of a laser printer requires a long 
learning curve and much trial and 
error. Only with practice and patience 
can the operator reach the l^el of so¬ 
phistication needed to produce docu¬ 
ments of near typeset quality. liiimMimHEI 


Hewlett-Packard 
3000 Hanover Street 
Palo Alto, CA 94304 
8001752-0900 
LaserJet-^: $37995 
Series II: $2,595 

CIRCLE 360 ON READER SERVICE CARD 

Genicom 
Genicom Drive 
Waynesboro, VA 22980-1999 
8001437-7468; 7031949-1170 
5010: $3,695 
CIRCLE 361 ON READER SERVICE CARD 

Kyocera 

3165 Adeline Street 
Berkeley, CA 94073 
800/334-6056; 415/848-6680 
F-2010: $4,695 

CIRCLE 362 ON READER SERVICE CARD 

Mannesmann Tally 
8301 S. 180 Street 
Kent, WA 98032 
800/843-1347; 206/251-5500 
910: $3,695 

CIRCLE 363 ON READER SERVICE CARD 

Okidata 

532 Fellowshp Road 
Mount Laurel, Nf 08054 
800 / 654 - 3282 ; 

609/235-2600 

LaserLine 6 (with HP compatibility 
module): $1S>95 

CIRCLE 364 ON READER SERVICE CARD 

QMS 

One Magnum Pass 
Mobile, AL 36618 
205/633-4300 
SrriartWriter 50+; $4,595 

CIRCLE 365 ON READER SERVICE CARD 

Quadram 
One Quad Way 
Norcross, GA 30093-2919 
404/564-5566 
QuadLaser I: $3,795 

CIRCLE 366 ON READER SERVICE CARD 

Ricoh Systems 
5 Dedrick Place 
West Caldwell, NJ 07006 
201/882-2000 
PC Laser 6000: $2,395 

CIRCLE 367 ON READER SERVICE CARD 


Rainer McCown is president of Rhintek, Inc., 
a ^ems software company that specializes 
in developing products and consulting in 
the areas of communications, compilers, edi¬ 
tors, and graphics. Heeth Clark is an in¬ 
structor in computer literacy at The Johns 
Hopkins University in Baltimore. 


114 


PC TECH JOURNAL 




FREE TURBO PASCAL : 
TO LOGITECH MODULA-2 
TRANSLATOR : 


□ LOOITECHModula-l . $QQ 
V. 3.0 Compiler Pack 

■ r Compiler in overlay and fully linked form. 

' ■ ■ Linkable Library, Post Mortem Debugger, 
Point Editor 

□ LOGITECH Modula‘2 /TQ 

V.LOToolkit ' ; . 

Library sources, Linker, RunTime Debug¬ 
ger. MAKE, Decoder, Version, XRef, 
Formatter ' ' 

□ LOGITECH Modula-2 . /f Q 

V 3.0 Development System jLMty : . 
; Compiler Pack plus Toolkit 

□ HjrboPaseaho TTlJiri? 

Modula-2 Translator JT JKJLjC./ 

\ With Compiler Pack or Development System 

□ Window Package $ziQ 

r . Build true windowing into your 

. Modula-2 code, 

□ Upgrade Package : . 

Gall LOGITECH for information pi- 
to receive an order form ' 

Add $6.50 for shipping and handling. California residents 

add applicable sales tax,.Prices valid 

in U. S. only. ,, Total,Enelp$ed S_ 

□ VISA □ MasterCaid □ Check Enclosed . , 


ANNOUNCING LOGITECH MODULA-2 VERSION 3.0 


Card Number, 

Expiration Date I 

J Signature I 

1 Name ■ I 

■j Address I 

I City ' 

^ate J 


' f ■■■ ■. -1 

K' - Zip . _ 

- Phone* 1 


























DataBase. 

The tool for the 
applications generation. 


By now almost everyone knows what a 
PC can do for them. The problem, though, 
for most people, is getting the PC to do it. 

Because powerful application develop¬ 
ment systems are often too difficult to 
learn. And easy systems quickly become 
too limiting once you’ve learned them. 

That’s why most of the FORTUNE 500 
companies are now using DataBase™ 
DataBase. No other system builds 
powerful applications as easily 
People start building applications imme¬ 
diately with DataBase. Even people with 
no PC experience. Because DataBase lets 
you concentrate on what you want to do 
instead of how to get the PC to do it. Menus 
and prompts help you set up your forms, 
files and reports while DataBase does the 
programming for you. 

And experienced users build complex 
applications quickly with DataBase. The 
automatic programming features along 
with a powerful relational query language 
make it easy And the power of DataBase 
increases as you demand more. Making 
the transition to building complex applica¬ 
tions smooth. And easy 
And changing a DataBase application 


is as easy as changing your mind. So 
your applications can grow to meet your 
needs. 

With DataBase you can create applica¬ 
tions that integrate text, graphics and data 
from a variety of sources-including main¬ 
frames. In the comfort of your own PC. 

DataBase. Now it’s easy for every mem¬ 
ber of the applications generation to 
generate their own applications. 

Send usthecouponforafree 
DataBase demonstration disk. Orcall 
1-800-334-EA5E. In Connecticut, 
374-8000. 


DataBase International, Inc. 

12 Cambridge Drive, Trumbull, CT 06611 
1-800-334-EA5E 

□ Please send me more information about 

□ DataEase □ LAN □ Connect 

□ GrafTalk □ Developer 

□ Please send a free DataEase demonstration disk. 

□ Please have a DataEase representative call. 

_ Titifi_ 


Name_ 

Company- 

Address_ 

City- 


-Phone. 


-State. 


-Zip- 


I No. of PCs on site □ 1-10 DII-SO DSH- 

IBM PC/XT/AT □ IBM COMPATIBLES DWANG DDEC DOTHER ^ 

Software Solutions, Inc. is now DataEase International, Inc. 

DATAEASE$ 

’What it does is hanl 
Ifow it does it is easy. 


Canada (416) 231-1270 • United Kingdom 01-554-0582 • Italy 2-836-0097 • Benelux (31) 73-414855 (Holland) • Scandinavia (47) 71-46166 (Norway) 

Switzerland 41-42-415656 • West Germany/Ausiria 89-461-3257 (Munich) * Australia (03) 699-7255 • Brazill 1-881-0600 


CIRCLE NO. 135 ON READER SERVICE CARD 


ID1987 DataBase International, Inc 





500400 ^° 











CDfs AutoKeyl3270 improves the use}'' 
interface and simplifies communications in 
a PC-mairframe environment 


PAUL FIRGENS 



M any office PCs are no longer 
strictly stand-alone machines. 
Increasingly they are being tied 
into corporate mainframe networks and 
expected to operate like 3270 terminals 
(with the help of emulator boards and 
software). Digital Communications As¬ 
sociates, Inc. (DCA) was a pioneer in 
this market with its IRMA board, which 
provided the PC with a coaxial connec¬ 
tion to a netv^ork, terminal emulation, 
and file-transfer capabilities. 

But IRMA is not enough for many 
users. Because a PC is much smarter 
than the average terminal, it was inevi¬ 
table that users would want to take 
advantage of the PC s flexibility in con¬ 
nection with the mainframe’s vast data 
and networking capabilities. This can 
be done, to a limited extent, but it re¬ 
quires some effort and involves com¬ 
promises. Most of the compromises 
result from the fact that the mainframe 
and its applications are designed to 
communicate with a terminal, not an¬ 
other computer. Much of the effort re¬ 
sults from attempts to control the ter¬ 


minal emulator. Until recently, custom 
routines had to be written to manipu¬ 
late screen buffers and I/O ports, but a 
new software product from CDI Sys¬ 
tems, Inc., AutoKey/3270, eliminates 
some of that work. 

Sophisticated PC-mainframe appli¬ 
cations attempt to satisfy one or more 
of four goals. First, they try to present 
a friendly interface for the user. A 
mainframe application usually requires 
many keyboard entries just to log-on to 
an application. For example, to use an 
application running under IBM’s Cus¬ 
tomer Information Control System 
(CICS), which is a terminal, file, and 
program handling monitor, a user typi¬ 
cally must invoke the monitor itself 
through the network, log-on to the 
monitor, then start the application, 
which may require another log-on. 

Each step requires a password, which 
often differs from the preceding pass¬ 
word. In addition, the screens fre¬ 
quently are cryptic. For example, CICS 
log-on and log-off procedures present a 
blank screen onto which the user must 






■■■■■ -'-i..-' 3 































REFINING ACCESS 



The new 

F286 PC-AT com¬ 
patible board-level 
CPU from I-Bus gives you a whole new 
dimension of speed and freedom in PC or 
PC-AT bus system design. 


It's all on a PC add-on-sized board 
—for use with a passive backplane just 
like other board-level systems. You just 
add the expansion cards, put it in a box 
(I-Bus has loads of backplanes and 
boxes), and it’s ready to execute any 
PC-AT applications software. 


Use the F286 in a disk-based or disk¬ 
less system, with or without a keyboard, 
with or without a display. 

It’s packed with features such as 10 
MHz zero wait state operation. Separ¬ 
ately clocked 80287 support (runs at full 
speed—not half speed as in other AT’s). 
512K RAM. Battery-backed clock/calen¬ 
dar. Optional PROMDISK to run any ap¬ 
plication from the F286’s user EPROM. 


And best of all, it’s designed, built and 
supported by I-Bus—the originators of 
the passive backplane PC Bus. 


If you’re into systems, we speak your 
language. Call us TOLL FREE at: 

800-382-4229 (in CA call 




The Fall Service PC Bus Company 


5780 Chesapeake Court 
San Diego, CA 92123 TLX: 910 240 0290 

CIRCLE NO. 210 ON READER SERVICE CARD 


enter a transaction identifier—with no 
prompt displayed. 

Routines can be designed to hide 
most of tliese steps, so that the user 
need only start the application while 
the PC and a mainframe program man¬ 
age the overhead. These routines can 
perform the repetitious key entries, 
bringing the user directly to the initial 
application screen. A PC-mainframe 
application can hide the mainframe 
environment from a user by basing the 
interface entirely on PC menus. The 
application also can handle communi¬ 
cations with the mainframe, filtering 
the communication to present selective 
information to the user. Mainframe 
software manufacturers often use this 
technique to allow PC-based products 
to work with their mainframe products. 

Many manufacturers control both 
ends of the connection by creating spe¬ 
cial mainframe routines to communi¬ 
cate witli their PC products. By using 
such routines, they are not forced to 
depend on standard text-based screen 
displays to transfer data, and can use 
compression techniques to speed data 
transfers and other communications 
between the computers. 

The second goal of PC-mainframe 
applications is to transfer files for use 
by PC programs. This would allow, for 
example, Lotus 1-2-3 users to incorpo¬ 
rate data directly from mainframe data¬ 
bases into their PC spreadsheets. It is 
not uncommon for financial managers 
to key data into spreadsheets from 
mainframe hard-copy reports—a waste 
of a company’s resources and an ex¬ 
tremely error-prone process. Using an 
application on the mainframe, reports 
can be saved on disk and reformatted 
for PC products such as 1-2-3. These 
reformatted reports then can be down¬ 
loaded to PCs to be read by the appro¬ 
priate applications program. 

A tliird use is for PC applications 
to log-on to mainframe electronic mail 
systems, sending and retrieving mes¬ 
sages to and from the PC. Emulation 
boards that support binary-file transfers 
can send backups of PC software to 
mainframe files. The mainframe can 
function as a file server for a network 
of connected PCs in which PC pro¬ 
grams are loaded onto the mainframe 
and downloaded to multiple PCs. In 
addition, PC-mainframe connections can 
support a form of distributed pro¬ 
cessing. Data can be manipulated lo¬ 
cally on a PC and periodically uploaded 
to a mainframe; and the mainframe can 
send data back to the PC for its use. 

Finally, a PC can be programmed 
to initiate mainframe log-on sessions. 


execute transactions, and transfer data 
without user assistance. This capability 
permits long-running jobs and those 
that place heavy loads on the main¬ 
frame to be delayed until off hours 
when mainframe resources are more 
readily available. 

A VIEW FROM THE MAINFRAME 

The PC-mainframe environment is 
dominated by mainframe myopia—a 
mainframe cannot detect whether it is 
communicating with another computer 
or a human operator. The 3270 net¬ 
work was not designed to connect to 
computers; it was intended to transmit 
at most a couple of thousand bytes at a 
time to each of its terminal devices. 
Because the connection is display- 
rather than data-oriented, a PC applica¬ 
tion must view the mainframe world 
from a 24-by-80-character window. (See 
“Exploiting the 3270 Connection,” Mary 
DeWolf, July 1987, p. 94.) 

This orientation imposes restric¬ 
tions and limitations. For example, the 
window usually has fields and headings 
appropriate for viewing and input from 
a terminal operator. When retrieving 
and sending data, an application must 
know the location of the appropriate 
screen fields. This requires some care 
and can be a major source of frustra¬ 
tion when developing a PC application 
to link with the mainframe. It also 
makes error handling difficult. 

A terminal operator usually has no 
problem adjusting to screen changes 
caused by software enhancements. If a 
field placement changes or extra 
menus are added to the mainframe 
application, a human user usually can 
work around it with little difficulty. 
Similarly, if a mainframe application is 
unavailable or crashes during a main¬ 
frame session, the operator can recog¬ 
nize the source of the problem and 
take appropriate action. 

A PC application attempting to run 
the same application is not nearly as 
flexible. Unless the PC has been pro¬ 
grammed to handle these situations, 
the application probably will fail. A PC 
application must be robust enough to 
deal with mainframe screens and situa¬ 
tions that differ from initial expecta¬ 
tions. Manufacturers of mainframe 
products having PC interfaces can pro¬ 
vide a major enhancement over the 
standard terminal environment by writ¬ 
ing applications software to specifically 
support communications with a PC. In¬ 
stead of using screens and field loca¬ 
tions, they can send data in binary 
form to the PC without displaying it to 
the terminal operator. 


120 


PC TECH JOURNAL 







CARBON CXDPY HUS. 
NCWHAMNGATA 
FORTUNE 500 COMIANY, 
NEAR YOU 


Our Carbon Copy™ communica¬ 
tions software is a big hit with Corporate 
America. So big that it’s already being 
seen in over 80% of the Fbrtune 500. 
That’s why they’re so eager to get their 
hands on Carbon Copy PLUS™ the sequel 
without an equal. 

Running on an IBM® or com¬ 
patible PC, Carbon Copy PLUS includes 
enhanced remote control capabilities over 
and above those found in our original 
Carbon Copy. Plus terminal emulation, 
compatibility with Crosstalk® script files, 
and support of X-Modem and Kermit 
file transfer protocols. 


In remote control mode, use your 
PC to observe and control a remote PC 
as though the two were one. Applications 
include remote training and support. 
Access to your home or office PC while 
on the road. Remote access to 
a LAN. Remote access to a main¬ 
frame or mini via an IRMA® or 
SmartAlec® board. And much more. 
In terminal emulation mode, it’s easy 
to access host computers and on-line 
information data bases. And you can 
receive or transmit telexes from around 
the world. Carbon Copy PLUS emulates 
most popular async terminals. 

So, never again will you have 
to buy one communications program 
for PC remote control. And another 
for general-purpose conununications. 
Because for about half the cost of buying 
both. Carbon Copy PLUS now gives 
you one integrated connectivity package 
that does it all. 

Fbr more information, contact 
Meridian Tbchnology or see your local 
dealer. Carbon Copy PLUS. It’s a pro¬ 
gram you definitely don’t want to miss. 



CARBON COPY PLUS 


Carbon Copy and Carbon Copy PLUS are trademarks of Meridian Tbchnology Inc. All other rcfercnc-cd producl.s arc trademarks of their re.spc('tlvi' manufacliireni. 


MBTidi^ri/W ////1101 Dove Street, Suite 120 

Newport Beach, CA 92660 (714) 476-2224 


CIRCLE 228 ON READER SERVICE CARD 


REFINING ACCESS 





nGUREl ; AtdoKcy/AJVO I’C-MdiiiJhiDK' Conneclioii ; 








PC DISPLAY 


PC 


KEYBOARD 


BUFFERS 


OUTPUT 

FILES 


AUTOKEY 


COMMAND 

SCRIPT 


EMULATOR 

BOARD 


LOCAL 


CONTROLLER I.;,.-.. 

_ 


MAINFRAME 


CD’s AutoKey/3270 mediates the interaction between a user, a PC, and a 3270 terminal emulation session in a PC-mainframe 
environment. It simplifies the mainframe connection, offering a friendly interface for many complex operations. 


THE CONNECTION 

A PC generally communicates with a 
mainframe at a very low level. The PC 
program must address the I/O ports 
directly. Manufacturers of emulator 
packages have documented these inter¬ 
faces fairly well, often including the 
source code for sample programs that 
perform basic operations, such as read¬ 
ing the screen display and sending key¬ 
strokes to the mainframe. However, 
they have not included high-level rou¬ 
tines to mask the low-level details. 

For example, when sending a 
string of characters to the mainframe, a 
program cannot transmit the ASCII 
codes for the characters. Instead, it 
must present the proper key-scan 
codes to replicate the keys that would 
have been pressed by an operator. 
These codes are unique to the 3270- 
type terminals and replicate neither the 
ASCII nor the EBCDIC character sets. 
Further, the codes must map more 
than one byte code per keystroke; for 
example, an uppercase letter is the 
code for the corresponding lowercase 
letter, prefaced with a code to indicate 
a shift-up key followed by a shift-down 
key code. This is rather tedious work. 

One alternative is to use IBM’s 
High-Level Language Application Pro¬ 
gram Interface (HLLAPI)—see “Key¬ 
stroke Automation,’’ John Singer, Janu¬ 


ary 1986, p. 113. This program reduces 
the complexity of communications be¬ 
tween a user application and a terminal 
connection. It was originally designed 
to work with the IBM 3270-PC and the 
PC Control Program, which handles 
communications between the PC and 
mainframe environments. 

The HLLAPI is a specialized operat¬ 
ing system loaded under DOS, which, 
in turn, runs under the Control Pro¬ 
gram along with the mainframe com¬ 
munications sessions. It can handle all 
the details of communicating with the 
Control Program, for example, the con¬ 
version of character strings to the ap¬ 
propriate key codes. 

The HLLAPI has two parts: an in¬ 
terface program that is loaded before 
running a user application, then resides 
in memory, and a Language Interface 
Module (LLM) that is linked into the 
user’s program. The LIM sends the resi¬ 
dent component a function code that 
represents the service requested, such 
as send keystrokes or copy strings 
from the terminal, plus the parameters 
related to that request. The LIM also 
returns status codes from the resident 
module after the Control Program has 
processed the function call. The low- 
level details of the PC-mainframe con¬ 
nection are hidden from the applica¬ 
tions developer. However, the devel¬ 


oper must include the HLLAPI calls and 
connection in an application; the 
HLLAPI cannot operate on its own. 

COMMUNICATING WITH AUTOKEY 

CDI’s AutoKey/3270 simplifies the PC- 
mainframe connection (see figure 1). It 
not only automates many tedious tasks, 
but also provides the environment in 
which the commands are executed. Al¬ 
though the software is not as flexible 
as custom-designed software, AutoKey’s 
capabilities and specialized command 
language are sufficient for a wide vari¬ 
ety of user applications. 

AutoKey handles some details in 
much the same way that the HLLAPI 
does—such as translating the string to 
the appropriate scan codes, writing to 
the I/O port, and checking that the 
command has been accepted by the 
mainframe. Moreover, it operates as a 
stand-alone product that does not re¬ 
quire a terminal emulation program. 
The user need not write a program in 
another language to automate the PC- 
mainframe connection. 

It can run on a PC, PC/XT, PC/AT, 
3270-PC, or compatibles. AutoKey re¬ 
quires a minimum of 256KB of mem¬ 
ory, one diskette drive, and a compati¬ 
ble emulation board. It is designed to 
work with a large variety of such 
boards, including those from AST Re- 


122 


PC TECH JOURNAL 

































































STRAIGHT TALK 


Our NETBIOS 
LAN/Gateway 

... has been designed by our professionals to meet 
the most exacting standards. If your installation 
has a unique condition, just call us. Our 
technicians in Scottsdale will fix it, or under our 
QuickFix Program * will be on your doorstep 
within 48 hours.. .probably much sooner. And if 
they can*t make it, call me, and I will. 

Jim Pitre, 
President 

With Linkup products your beginning purchase is just 
that.. .a foundation that works. 

Doesn’t it make ever so much more sense to develop 
your software and computer systems as upgradable 
assets? Begin with our Linkup 3270 Interactive Ter¬ 
minal Facility (ITF) connection to the mainframe, then 
expand or change as your needs require to include... 

...File Transfer. Two programs for your considera¬ 
tion. One interfaces with the TSO or CMS editor; one 
works with IBM 3270 PC host-based file transfer 
under TSO, CMS or CICS... 

...or Application Program Interface. Integrate your 
own programs to use the capabilities of 3270 
SNA/BSC, 3770 SNA and 3780 BSC emulations... 

...or Linkup SpeedPrint. Data rates up to 19.2 Kbps 
from an application or disk to a dedicated high-speed 
printer, eliminating host/local print conflict. 

...or LAN/Gateway. With the addition of interfacing 



modules the LinkUp 3270 ITF runs on most Local 
Area Networks. Use the advanced package for 
datacom between PCs on a LAN and IBM or 
compatible host. 

These intelligent software capabilities offer the 
options your computer environment just may require. 
For today. For tomorrow. 

* QuickFix Program 

In addition to telephone assistance from Scottsdale, Infor¬ 
mation Technologies, Inc. stands ready to help you in critical 
situations. We’re different because when our product is at fault 
and it can’t be fixed from Scottsdale, we will come to you 
anywhere in the contiguous 48 states at no charge. If the problem 
is caused by your PC, the way you’ve configured it, the main¬ 
frame, or any reason other than our product, then you pay our 
standard consulting fee plus expenses. 



Designed, engineered and 
manufactured in the U.S.A. 






INFORMATION 
TECHNOLOGIES INC. 


7850 East Evans Road, Scottsdale, Arizona 85260 1-800-431-3460 1-602-998-1033 

Call us. Our engineers speak SNA/SDLC, BSC, ASCII, EBCDIC and Human. 


CIRCLE NO. 166 ON READER SERVICE CARD 




REFINING ACCESS 


TABLE 1: Atil()KcYL )27<> Coiiunaii(/s 


COMMAND / CMD ABBREVIATION arguments 

Optional parameters in square brackets: [ . . . ] 

Choices among options separated by vertical bars: 1 ... 1 

EXPLANATION 

ASGNCRSR/AC row column 

AT row col SAY “message string” [USING foregnd backgndjf 

AT row col GET “input string” [HIDE] 

AT row col DRAW BOX width BY height [SINGLE] 1 (DOUBLE] 

AT row col DRAW SPACES width BY height [USING foregnd backgnd; 

Puts the cursor at the designated row and 
column on the 3270 display. 

Controls interaction with the PC. SAY places 
character strings on the display; GET prompts 
for input at the specified location and retrieves 
] the input; and D^W draws boxes and colors 

areas of the specifed size. 

GALLFILE/CF “command file” [“subroutine name”] 

COMPARE GET “character string” [UPPER] 

COMPARE BUFFER number “character string” [UPPER] 

COMPARE BUFFERS x AND y [UPPER] 

Branches to the specified AutoKey command file. 
Performs comparison between character strings 
stored in various locations. GET compares 
keyboard input to the specified string, BUFFER 
compares contents of a buffer (see READ) to the 
specified string, and BUFFERS compares 
contents of two different buffers. UPPER converts 
alphabetical characters to uppercase before the 
comparison is done. 

ECHO [ON] 1 [OFF] 

Echoes the AutoKey commands to the PC display 
as the commands are executed. 

END 

ENDRTN 

FILE IS “filename” [APPEND] 

Terminates an AutoKey command file. 

Terminates an AutoKey subroutine. 

Opens a DOS file and, optionally, writes at the 
end of the file if APPEND is specified. 

GOTO label 

GOTOFILE/GF “filename” 

Unconditional branch to the indicated label 
within the current command file. 

Unconditional branch to the indicated AutoKey 
command file. 

HOTKEY 

Switches between PC display and terminal 
emulation session. 

IF “test” true-goto-branch false-goto-branch 

Test values: CURSOR 1 FOUND 1 STATUS 1 TIMER 

TIMEOUT 1 KERROR1 EOF 1 MATCH 

Tests one of the conditions above and branches 
to the specified location (eidier a label or NEXT , 
to execute the command following the IF). The 
parameter tested is set by one of several 

AutoKey commands. 

[KEY] “key value” [timeout value in seconds] [WAIT] 1 [NOWAIT] 

Key values to send: CLEAR 1 DOWN 1 ENTER 1 EOF 

HOME 1 LEFT 1 MARK 1 PA1-PA3 

PF1-PF24 1 PRINT 1 RESET 

RETURN 1 RIGHT 1 SYSREQ 1 TABBKWD 

TABFWD 1 UP 

Issues a 3270-specific keystroke in the terminal 
emulation session. 

KEYSTAT/KS 

PASSWORD/PS “character-string” “display message” 

Checks and sets status of keyboard in the 3270 
emulation session. Sets STATUS and KERROR test 
values (see IF). 

Pauses execution of airrent command file and 
then prompts the user for a password. If the 
entry matches the character string, AutoKey 
continues processing; if not, AutoKey aborts and 
dUplqps an error message. , 

PAUSE “display message” 

PRINT BUFFER “buffer number” [TO FILE [ENCRYPT]] 1 [ASCII] 

PRINT CHAR “ASCII decimal value” [TO FILE [ENCRYPT]]-1 [ASCII] 
PRINT #GET [TO FILE [ENCRYPT]] 1 [ASCII] 

Pauses execution of the current command file, 
displays the specified character string, and waits 
until the user presses a key. 

Moves data from a READ buffer to either a DOS 
file or to the PC display. It also can write an 

ASCII decimal character value, or the PC 
keyboard buffer contents from the last AT . . . 

#GET command to a file or the display. 


search, CXI, DCA, Persyst, Forte, IBM, 
Quadram, and others. In addition, 
AutoKey can operate from remotely 
connected boards, as well as boards 
with direct coaxial connections. LAN 
versions of AutoKey have been released 
for some of the more popular net¬ 
works, including Novell and Banyan. 


GDI’s AutoKey/3270 is available as 
either a developer’s package or. as a 
runtime system. The developer’s pack¬ 
age includes the command interpreter 
and utilities for installing the package 
and for encrypting and decrypting files, 
as well as a utility for determining the 
cursor position and the field attributes 


of a 3270 screen display. The AutoKey 
runtime system includes only the 
command interpreter. 

Because AutoKey has no interactive 
mode, it requires a list of commands 
from which to work. These commands 
can be designed to control either the 
mainframe connection or the PC. When 


124 


PC TECH JOURNAL 







































COMMAND / CMD ABBREVIATION arguments 

Optional parameters in square brackets: [ . . . ] 

Choices among options separated by vertical bars: 1 ... 1 

EXPLANATION 

READ 3270 row column FOR length INTO BUFFER “buffer number” 
READ 3270 row column FIELD 

Captures data from the 3270 display and places 
it into an internal buffer. A maximum of 1,920 
characters can be captured and placed into any 
one of five available buiSferS; The command also 
can collect the contents of a display field, using 
the FIELD option. 

RETRIEVE/RET row column [“text string for comparison”] 

Tests to determine if the 3270 display cursor is 

at the specified location. Sets the test value 
CURSOR for testing with IF. An optional text 
string can be supplied and the command will 
set the CURSOR value to true if it. finds that 
string in the given location. 

SAVE CURSOR(n) 

R(n) 

C(n) 

Saves the current 3270 display SAVE cursor 

location in an internal SAVE array, the cursor 
table. CURSOR saves both row and column 
location, R(n) and C(n) save only the row and 
column values respectively. These table entries 
c^ be referenced in various commands where a 
numeric literal would otherwise be rMnired. 

SEARCH “text string sought” [LAST] 1 [NEXT] 1 [NEXT n] 

SEARCH ALPHA 1 UNPROTECT 1 NUMERIC 

Searches 3270 display for indicated string or 
field with the indicated characteristics. 

TIMEOUT “number of seconds” 

Sets the number of seconds that KEY will wait to 
be accepted by the mainframe before resuming 
command file execution. 

TIMER START “number of seconds” 

TIMER CHECK 

Sets and allows checking of a clock value against 

the current DOS clock time. Use of the CHECK 
parameter set the TIMER test value, which can 
be tested in an IF statement. 

TYPE row column [“char string”] 1 [#record] 1 [#GET] 1 [#NEXT] 

TYPE * * 

TYPE R(N) C(N) 

[UPPER] 1 [LOWER] 

Sends a character string to the mainframe at the 
location specified. The source of the string can 
be either the literal included in the command, a 
record from a TYPEFILE, the current string in 
the #GET buffer, or the next record from the 
TYPEFILE. The location of the input can be at 
the row and column specified in the command, 
the current cursor location (* *) or row and 
column values from the cursor table. 

TYPEFILE/TF “filename” 

WAIT UNTIL hh;mm [SHOW] 

WAIT UNTIL GET 

Opens a DOS file for processing by subsequent 

TYPE commands. Records are read from this file 
by TYPE and appropriate subcommands. 

Pauses execution of the cornmand file until the 
time specified in the command is reached or 
until the time value entered though AT . . , 

#GET is reached. The SHOW option displays 
the current time and the time scheduled for 
resuming conimand execution. 

KDOS [“filename”] 1 [#GET] 

Suspends execution of the command file and 

starts a second copy of COMMAND.COM. 
Optionally, this command also can start a copy 
of a DOS program, which is specified on the 
command statement or through a previous 

AT. . . #GET command. 


The script command language provides for the basic PC-mainframe manipulations most users will want to perform, as well as 
providing for other useful extensions. TYPE sends keystrokes to the mainframe. With TYPEFILE, it retrieves data from a DOS 
file and sends them to the mainframe. READ and PRINT retrieve and enter data from the mainframe. 


AutoKey is loaded, it attempts to inter¬ 
pret and execute commands from ei¬ 
ther its default source, AUTOKEY.CMD, 
or from a file named as a command¬ 
line argument. These commands are 
stored in either an ASCII text file or in 
files that are encoded by AutoKey’s 
encryption utility. 


Depending upon the command 
chosen, AutoKey writes to the PC dis¬ 
play and controls the host session. It 
displays messages to the user, receives 
and processes the user’s responses, and 
uses colors and boxes to enliven the 
PC display. It also can initiate the ter¬ 
minal session and perform major 


emulator functions, such as sending 
keystrokes, retrieving data, searching 
for strings, checking the status of the 
keyboard, and positioning the cursor. 

The command range is broad (see 
table 1). The scope of the language 
provides for the basic PC-mainframe 
manipulations, as well as other useful 


SEPTEMBER 1987 


125 






















REFINING ACCESS 


extensions. The TYPE command is used 
to send keystrokes to the mainframe. 
With TYPEFILE, it retrieves records 
from a separate DOS file and sends 
them to the mainframe. Through READ 
and PRINT, it retrieves data from the 
mainframe session and puts the data 
into a file or onto the PC display. Auto- 
Key also can encode this information as 
it is placed into a DOS file. 

AutoKey’s language includes both 
comparison and control-branching 
logic. User input can be tested from 
AutoKey/3270 scripts. Activity on the 


mainframe connection also can be 
tested from AutoKey/3270 scripts; for 
example, a script can test if the main¬ 
frame will accept keystrokes from the 
emulator as well as test for the pres¬ 
ence of specific strings in the terminal 
display buffer. Subroutines can be 
called from a command file. These rou¬ 
tines can be kept in separate DOS files 
to help structure and make modular 
the AutoKey command-file routines. An 
echo mode, available as a debugging 
aid, echoes the commands to the PC 
display as they are executed. 





sva' 


la'a* -ee*®' - a\' a'a'®. 

’®' .irt 

Sc»|®^ract';'®eratio'’ 

O & 

Circ' 

^ OP®' 


o LaVO'*^ , cap®*’’"*'^ 

§ „ p-»>“ 


o 



0 A?GiPf< 


IBM PC, XT and AT are trademarks of International Business Mac 


Other commands help make the 
presentation more useful and attractive. 
Some commands display messages and 
prompts; the AT command enables the 
user to draw boxes and borders in the 
colors offered by the IBM Color Graph¬ 
ics Adapter (CGA). Using HOTKEY, the 
terminal session can be presented to a 
user while the command session is sus¬ 
pended. A DOS program can be in¬ 
voked from within a command-script 
execution. With WAIT, sessions can be 
suspended for up to 24 hours, and 
then run unattended. 

AutoKey also provides several utili¬ 
ties. For security, ENCRYPT.EXE and 
DECRYPT.EXE encode and decode com¬ 
mand files. AutoKey can interpret 
encrypted files directly, so that users 
need not decode their files before 
using them. Another utility, ADP.EXE, 
the attribute-display program, deter¬ 
mines the row and column locations 
and attributes of the fields on a 3270 
display screen. Without such a function, 
the developer of a PC-mainframe appli¬ 
cation often must determine this infor¬ 
mation by trial and error. 

Before AutoKey can be used, it 
must be configured for the particular 
emulator board that is installed in the 
PC. A separate installation program 
leads the user through the process by a 
series of prompts. The first screen lists 
some of the boards supported by the 
package (see photo 1). 

The process is straightforward if 
the user can answer the choices to be 
made. If the user is uncertain, AutoKey 
is not much help; the package provides 
little documentation about the configu¬ 
ration process. None is included on¬ 
line with the utility itself and the man¬ 
ual describes only certain boards in 
which the base I/O addresses can vary. 

AUTOKEY TRIALS 

AutoKey version 1.2 was tested on a 
3270-PC running DOS 3.2 and the 
3270-PC Control Program 2.1, and on 
an XT with a DCA IRMA card running 
DOS 3.2. Although configuring the 
IRMA board was simple, the 3270-PC 
installation was not. The installation 
program is ambiguous about the ap¬ 
propriate choice for the 3270-PC. Ex¬ 
perimentation eventually uncovered a 
setting that worked (sort oO. The “IBM 
Control Program” option on the instal¬ 
lation menu was the only one that 
worked with the 3270-PC. One of the 
major virtues of the 3270-PC is that it 
supports four simultaneous terminal 
sessions; however, it must run in dis¬ 
tributed function terminal (DFT) mode 
in order to suppon these four sessions. 


126 


CIRCLE NO. 218 ON READER SERVICE CARD 


PC TECH JOURNAL 

















PHOTO 1: AutoKcy 13270 Coiifi^iimtion Screen H PHOTO 2* Sample A^^^licalion Screen 



The AutoKey/3270 configuration menu displays some of the 
emulation boards that are supported by the product. 



Yrtu inwko any of flir fol lowing; 

1, KlrcIronic flAll syslc* 
r.. Inv-oeMlory Cootrol sg<lr« 

3. Hr sources syslew 

i Order Entry systrM 

5. Systr« Report r^iclUty 

6. Accounts HeccK'oMc sy.stew 

7. Leave the wolnfr.^iiw session 
Enter Your TY'ansectInn Choice, please. P| 


The display from an AutoKey program script demonstrates 
how it can control the display for a user. 


AutoKey does not support DFT mode 
and gives no indication of this until it 
generates an error message at runtime 
and terminates. It turns out that Auto¬ 
Key supports only the single-session, 
control unit terminal (CUT) mode. GDI 
plans to support the DFT mode in a 
future release of AutoKey. 

AutoKey ran well for the most 
part. Nearly all of its basic operations, 
such as sending keystrokes, controlling 


the PC display, and performing logical 
tests, ran as expected. AutoKey sup¬ 
ports calls to subroutines of script 
commands. The utilities performed as 
described. AutoKey also loaded and ran 
at an acceptable speed. Sheer execu¬ 
tion speed in this environment is less 
important than in applications based 
solely on a PC. Here, the limiting factor 
is the time required by the mainframe 
to process the PC’s requests. 


A sample program is shown in fig¬ 
ure 2, and the display generated by this 
script is shown in photo 2. In this pro¬ 
gram, the command file logs a user 
onto a CICS mainframe session, dis¬ 
plays the user’s transaction choices, and 
then waits for the user’s selection. 

Once the user has chosen a transaction, 
the script invokes that selection and 
toggles to the mainframe session. The 
AutoKey’s language is not complex; its 



Let Overland Data’s professional technical staff help you 
select the right tape drive for your personal computer 
system. Additional tape drive models available. Call today. 


Let Overland Data match your specific application needs 
to one of its wide range of 9 Track Tape Subsystems for the 
IBM PC/XT/AT and Compaq 386. Subsystem prices 
include 9 track tape drive, interface board, cables, data 
interchange and backup software for MS-DOS or XENIX 
operating systems. 

Interface boards are warranted .for two years, parts and 
labor. Call for specific tape drive warranty information, 
and to find out about our special Demonstration Unit 
Program. 

IBM PC, XT, AT are Registered Trademarks of International Business Machines Corp. 

XENIX and MS-DOS are Registered Trademarks of Microsoft Corp. Compaq 386 is a Registered Trademark of Compaq Computers, Inc. 


Overland Data, Inc. 

5644 Kearny Mesa Road 
San Diego, CA 92111 
Tel. (619) 571-5555 
Telex 754923 OVERLAND 


9 Track Tape Drives 

For IBM PC/XT/AT and Compaq 386 


Qualstar 1052 

• 1600/3200 bpi 

• 25/50 in./sec. 

• Manual load 

• Streaming 
Subsystem price: 

$3,595. 


Cipher Data F-880 

• 1600 bpi 

• 25/100 in./sec. 

• Auto load 

• Start/Stop & Streaming 
Subsystem price: 

$4,195. 


Kennedy 9600A 

• 800/1600/3200 bpi 

• 50/100 in./sec. 

• Auto load 

• Start/Stop & Streaming 
Subsystem price: 

$6,495. 


Anritsu 2620 

• 1600/3200/6250 bpi 

• Cache buffered 

• Auto load 

Subsystem price: 

$9,495. 


CIRCLE NO. 185 ON READER SERVICE CARD 

































REFINING ACCESS 


FIGURE 2: Sample Commaad Saipl 


cls 

border magenta 

at 6 4 draw spaces 22 by 12 using yellow red 

at 6 4 draw box 22 by 12 double using yellow red 
AT 7 5 SAY "CICS logon procedure" using white red 
cicsloop: 

type "devlcics" 
key enter 

search "DEVLCICS SYSTEM" 
if found next cicsloop 
key clear 

type "CSSN" . ~ ' 

key enter 
nameloop. 

search "NAME;" 
if found next nameloop 
at 10 6 draw box 27 by 3 using Icyan blue 
at 11 7 say "name?" using red white 
at 11 12 get 20 
type #get 
key tabfwd 

at 14 8 draw box 22 by 3 using Icyan blue 

at 15 9 say "user password?" using red white 
at 15 23 get 6 
type #get 
key enter 

at 19 5 say "CICS Logon Successful!!" 
opt loop: 

at 4 35 draw spaces 44 by 20 using white blue 

at 4 35 draw box 44 by 20 single using white blue 

at 6 38 say "You may invoke any of the following;" using white blue 

at 8 42 say "1. Electronic Mail system" using white blue 

at 10 42 say "2. Inventory Control system" using white blue 

at 12 42 say "3. Human Resources system" using white blue 

at 14 42 say "4. Order Entry system" using white blue 

at 16 42 say "5. System Report Facility" using white blue 

at 18 42 say "6. Accounts Receivable system" using white blue 

at 20 42 say "7. Leave the mainframe session" using white blue 

at 22 37 say "Enter Your Transaction Choice, please." using white blue 

at 22 76 get 1 

cheki: 

compare #get 1 

if match next chek2 

key clear 

type "mail" 

key enter 

hotkey 

goto opt loop 

chek2: 


compare #get 2 - - .■ 

if match next chek3 ^ 
key clear 
type "incx" 
key enter 


hotkey 
goto opt loop 
chek3: 







compare #get 3 
if match next chek4 
key clear_ 




type "hrsx" 
key enter 
hotkey 
goto opt loop 
chek4: 

compare #get 4 




if match next chekS 

key clear 

type "orex" 

key enter 

hotkey 

goto opt loop 




chekS: 
conpare #get 5 
if match next chek6 
key clear 
type "srfx" 
key enter 




hotkey 
goto opt loop 

chek6: . _ 

compare #get 6 
if match next chek7 
key clear 




;. ■ .t;-' 




type "acrx" 



key enter 



hotkey 

„ ... 


goto opt loop 
chek7: 

compare #get 7 

if match next opt loop 
key clear 

type "cssf logoff" 

. . 


key enter 

beep 

pause 

cls 



end 







T^is command file logs a user onto a CICS mainframe session, displays the user’s transactions, and waits for the user’s selec¬ 
tion. It then invokes the selection and toggles to the mainframe. The language is not complex—anyone with even a passive 
understanding of programming languages should have little difficulty writing AutoKey command files. 


command files should not be difficult 
for anyone with even a passive knowl¬ 
edge of programming languages. 

MORE INFORMATION 

One strike against this product is its 
documentation. For one thing, it 
should be more complete. The man¬ 
ual’s descriptions are more like notes 
than a full-scale command reference. It 
briefly sketches the commands, with a 
few examples sprinkled in, but does 
not fully explain their use. The con¬ 
fusion that resulted from running 
under DFT and CUT modes is typical. 
Another example involves SEARCH— 
the documentation fails to mention that 
this command is case-sensitive. 


Many of the individual AutoKey 
commands depend on the successful 
completion of specific previous com¬ 
mands. For example, before the PRINT 
command can print to a file, that file 
must be opened with a FILE IS com¬ 
mand. These dependencies are not 
made obvious in the documentation. 
Although these idiosyncrasies can be 
discovered fairly easily by experiment¬ 
ing with different scripts, users should 
not have to spend their time discover¬ 
ing and rediscovering unused and un¬ 
available features because of omissions 
in the documentation. 

The package does include a help¬ 
ful on-line tutorial; one in the manual 
also would be useful. In addition, users 


have come to expect software to in¬ 
clude executable examples that demon¬ 
strate the product. AutoKey has no such 
examples. It supplies a sample com¬ 
mand file that is syntactically correct, 
but users should not expect this file to 
execute. Mainframe environments vary 
too much for generic examples to 
work in every situation. 

SOFTWARE DIFnCULTIES 

AutoKey can transfer data between a PC 
and a mainframe, but it is not recom¬ 
mended for moving large blocks of 
data. The READ 3270 command allows 
as many as 1,920 characters (a full 
screen of data) to be transferred at a 
time, but it would be awkward to move 


128 


PC TECH JOURNAL 

















































It’s moving day. 

lime to pack up that big mainfi*ame 
program and move it to the PC. 

Relax. It’s going to be the easiest 
move you ever made if you use the new 
RM/FORTRAN™ V2.4 with 
Austec’s new RM/Forte™ produc¬ 
tivity tools. 

RM/FORTRAN has the VAX, VS 
and FORTRAN-66 extensions you 
need, and is field-proven with more 
than two years of mainfirame conver¬ 
sions by thousands of demanding 
engineers and scientists. .- 

And, with RM/Forte you A 

can complete your conver- U 

sion at a record pace . . . -=^S5s 

cutting debug time up to 50%... 
diagnosing syntactical errors in 1/5 the time. 

Tfou’re in tiie fast lane because RM/Forte integrates 
all major program development tasks—edit, compile, 
link and debug—into one interactive, menu-driven 
environment. Just a few simple keystrokes move you 
from one task to another . . . and back again. 

Plus, you get a full screen editor, a syntax che^er 
and a source code manager that automates compiling 
and linking as you make changes. 

RM/FORTRAN applications are more than just 
easy to develop—they nm fast, too. Sieve or 
VHietstones, RM/FORTRAN benchmarks ahead of 
the bunch. And if you need it, RM/FORTRAN has a 
very fast 8087/80287 emulator to give you the power 
of a coprocessor. 

But don’t take our word for it. Listen to a moving 
professional: “RM/FORTRAN lets us move rmin- 
frame 'programs to PCs faster and clea'ner than any 



other compiler on the 
market. ” (John Haestad, 

Haestad Methods) 

RM/FORTRAN was 
theyirst PC FORTRAN 
IGSA certified a Full Level ANSI 77 
—W with no errors. You may have heard 
* \ 1 V, Qf sister, IBM PC Professional 
FORTRAN. 

Enough reading. Start 
writing. Fill out and send in 
the coupon below to find out 
more about RM/FORTRAN 
with the new RM/Forte 
productivity tools. 

H Then move it! 






AUSTEC 


Austec Inc. 

609 Deep Valley Drive 
Rolling Hills Estates, CA 90274 
Or call 213/541-4828 


r PCT-9 H 

Let’s get moving. Send me details on • 

I RM/FORTRAN V2.4 with RM/Porte Produc- 
a tivity Ibols, and your special upgrade offer. 

I 

I 

I 
I 


Name 


Company 


Title 


Street 


City 


State 


Zip 


Phone ( 


CIRCLE NO. 195 ON READER SERVICE CARD 






REFINING ACCESS 


large amounts of data in that way. The 
interpreter would have to pause the 
mainframe display with each screen’s 
worth of data, write it to a file, then 
scroll forward for the next screen of 
data. A much more efficient method 
would be a file-transfer process, such 
as that supported by the 3270-PC. This 
process is not limited to working only 
within the bounds of the immediate 
screen—it basically lets the mainframe 
scroll the data on the terminal screen 
and lets the PC copy the display onto a 
file. (The 3270-PC utilities also speed 


the process by using file compression 
techniques; this also requires the assist¬ 
ance of a mainframe program.) 

Another problem is that command 
files executing properly on one emu¬ 
lator board may not work correcdy on 
another—some commands are not sup¬ 
ported across all emulators. The 
SEARCH and HOTKEY commands per¬ 
form reasonably well with the IRMA 
card, but neither works on the 3270-PC. 
CDI says that SEARCH does work on 
the 3270-PC, but that it takes a long 
time. This was attempted, but the pro¬ 


Find out why everybody is talking about 

ME-SHEll' 



begin 

clrscr; 

wrltelnC 

wr1teln(' 

writeln(' 

wr1teln(' 

wr1teln(' 

wr1teln(' 

writeln(' 

write!n(' 

wr1teln(' 

writelnj' 

wrltelnj' 

wr1teln(' 

write!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

write!n(' 

wr1te!n(’ 

wr1te!n(' 

wr1te!n(' 

write!n(' 

wr1te!n(' 

wr1te!n(' 

wr1te!n(' 

end. 


XO-SHELL 


XO-SHELL Is a memory resident program which provides the user 
the following capabilities while running an application: 

■ Directly from a scrollable directory display, you can 
view files, copy files, erase files, change the default 
directory, and, when not In application, execute programs. 

■ You can display any f1!e, transfer any section of that 
f1!e for printing, or transfer It to the keyboard for 
Inputting Into your editor. 

■ You can print files without leaving an application. You 
can Include a header !1ne, containing current date, title, 
f1!e name, f1!e creation date and page number on every 
page of a !1st. 

■ You can search strings from a f1!e or group of files 
that you specify; you can cross-reference In the middle of 
programming by searching variables from source f1!es. 

■ You ca.i create or edit files. 

■ You can control and use your printer as a typewriter. 

■ You can Input any IBM-PC character as easily as you 
Input regular ASCII characters. You can easily draw 
vertical or horizontal lines by choosing graphics 
characters from a pop-up window. 

■ You can obtain the key code of any key combination 
without looking up a reference. 

■ You can collect the application's screen displays in a 
file and later edit or review them. 

■ A DOS command editor .allows you to retrieve, edit and 
reexecute previous DOS commands. 


A . editors (such as Turbo PASCAL, Turbo C, Turbo BASIC, and 

Quick BASIC editors) and application software. To add convenience and productivity to 
your application, order XO-SHELL now. Just send $69 plus $5 for shipping and handling. 
Be sure to Include your name, address and phone number. For Visa or Master Card orders. 
Include card number and expiration date; or cal! 

1—SOO'-SSB-'SOll (outside MA). 

XO-SHELL runs on IBM-PCs, XT's, AT's, Persona!System/2's and true compat1b!es. 

It occupies BSKBytes of memory space and requires PC/MS-DOS 2.0 or higher. 

WYTE CORPORATION 

701 Concord Avenue 
Cambridge. MA 02138 
Tel. (617) 868-7704 

lUliTE Excellence in Software Design 



Turbo PASCAL. Turbo C and Turbo BASIC are trademarks of Borland International, 
and IBM-PC. XT, AT. PersonalSystem/Z, PC-BOS are trademarks of IBM corporation. 
MS-OOS. Quick BASIC are trademarks of Microsoft Corporation. 


CIRCLE NO. 154 ON READER SERVICE CARD 


gram was terminated when the search 
had not completed after 30 minutes. 

AutoKey’s command language itself 
could stand improvement. Functions 
seem to be distributed arbitrarily 
among the commands, and some coih- 
mands are overloaded with options. 
Why, for example, is only one com¬ 
mand (AT) used to display messages to 
the PC display, retrieve input from the 
keyboard, and also paint colored boxes 
on the PC display? This can be confus¬ 
ing when trying to determine which 
command is appropriate. 

The language would be more us¬ 
able with the addition of several fea¬ 
tures, such as parameter passing be¬ 
tween calling and called routines. The 
language also cannot use variable 
names as arguments in the commands. 
It does, however, support references to 
the elements kept in a cursor table, an 
array of possible row- and column- 
screen locations, but the table is awk¬ 
ward to use. 

But these criticisms may be a bit 
severe. AutoKey is not designed to be a 
complete programming language. Its 
intended environment, the PC-main- 
frame connection, is, itself, fairly fluid. 
Because mainframe screens and menu 
displays change frequentiy, it is impor¬ 
tant for a product such as AutoKey to 
allow changes to be made quickly, and 
AutoKey does do that. It can accommo¬ 
date change more easily than the other 
automation methods because it is 
based on an interpreted script. 

AutoKey is recommended for users 
who wish to begin automating a PC- 
mainframe connection. It hides the “na¬ 
tive” communication modes required 
by emulator boards from the program¬ 
mer and automates the connection at a 
fairly high level, saving users a great 
deal of work. AutoKey puts automation 
within the reach of users who are not 
inclined to attempt the low-level pro¬ 
gramming otherwise required. It also 
provides the means to develop a 
friendly user interface. Although the 
package is not flawless, its problems 
are insignificant compared to the over¬ 
all usefulness it delivers. ’ IteimHEl 

CDI Systems, Inc. 

2803'Butterfield Road 
Oak Brook, IL 60521 
3121574-5900 

AutoKeyl3270: Programrner, $149; 

Runtime version: $69 

CIRCLE 353 ON READER SERVICE CARD 


Paul Firgens, a senior database analyst for 
a Wisconsin firm, does extensive work in a 
PC-mainframe environment. 


130 


PC TECH JOURNAL 














WEUOMETO 
or SERIOUS 4GL/ 


ZIM, the Fourth-Generation Language 
Database Management System that has set new 
standards in Power, Performance, Productivity 
and Portability welcomes you to the world of 
serious application development. 

ZIM 3.0 is the most comprehensive 4GL tool 
available today, offering complete micro-to- 
mainframe portability (with no code changes), 
performance optimized in each operating en¬ 
vironment, multi-user, extensive import/export 
capabilities, rapid prototyping, complete de¬ 
bugging facilities, nested assignment ex¬ 
pressions, CASE tools, SQL, multi-level security, 
report painting and more. All in a comprehen¬ 
sive procedural language that permits every¬ 
thing from simple queries through to complex 
database operations and provides capabilities 
for comprehensive data extraction, manipula¬ 
tion and presentation. 

To be useful, an application development tool 
has to provide maximum flexibility, perform¬ 
ance and productivity—regardless of the nature 
of the application. ZIM has it NOW! 

PORTABIllTYi Complete micro-to-mainframe 
portability means applications can be devel¬ 
oped on PC's and immediately implemented in 
the client environment with no code changes. 
Our growing list of compatible operating en¬ 
vironments encompasses the world of serious 



7 00 percent portability 


technology: single user MS-DOS, MS-DOS net¬ 
works, Novell networks, QNX, UNIX, XENIX, 
VAX/VMS and VM/CMS. 

DEVELOPMENT ASSISTANT: ZIM/DA (ZIM's 

development assistant companion product) is a 
key element in ZIM's productivity and CASE 
offerings. ZIM/DA is comprised of an applica¬ 
tion generator, menu generator, active and com¬ 
prehensive data dictionary, report painter, code 
editors and context-sensitive help. ZIM/DA 
permits remarkably fast transition from pro¬ 
totype to finished application. 

THE ZIM LANGUAGE: Time is money. It shouldn't 
be spent writing endless lines of code or worse, 
tying up expensive mainframe systems. The 
ZIM language, based on the entity-relationship 
(E-R) model, provides the power that serious 
application developers demand. Compare a 
typical SQL command and the ZIM equivalent: 



DEBUGGING: ZIM's active data dictionary plays 
an integral role in reducing debugging time. 
Use the PARSE command to verify coding ac¬ 
curacy and context. Singlestep execution aids in 
debugging. 

POWER: ZIM is rich in powerful features and 
functions such as: 

• Al-based access strategy analyser. 

• Unsurpassed computational abilities, includ¬ 
ing CASE expression which handles with 
ease the 'step' functions found in real-world 
business applications. 








THEWORID 
DBMS PROCRAMMING 


• Natural multi-user features including user- 
defined transactions, roll-back, audit trails 
and roll-forward. 

• Complete code-data independence. 

• Exceptional text-handling capabilities. 

• Unlimited forms manipulation and report¬ 
writing capabilities. 

• Multi-lingual applications (French, German 
etc.) 

SECURITY: ZIM's multi-level security features 
include log-in, passwords, permission-based 
access to entity sets, relationships and fields 
and encryption/decryption of entity sets and re¬ 
lationships. 

VIRTUAL HELDS: ZIM's unique virtual fields ca¬ 
pability allows you to easily implement com¬ 
posite or concatenated keys, derived or com¬ 
puted fields, soundex indexes, etc. 

IMPORT/EXPORT: ZIM masters the importing 
and exporting of screens and data to and from 
word-processing, spreadsheets and provides 
superlative forms composition through laser 
printers. ZIM applications already in use have 
saved millions of dollars through the reduction 
and/or elimination of paper forms. 

ZIM is supported by an ever-growing family of 
companion products like Niva's Guide to 
ZIM (the authoritative guide from introductory 
to expert levels), the ZIM Compiler to ensure 
the highest level of performance of your ZIM 
application, a Program Language Inter¬ 
face permits "C" access to ZIM databases, 
ZIM-ISQL allows queries based on SQL syn¬ 
tax, Runtime and Query Runtime systems 
and ZIMPLE, an add-on module that permits 
easy use, allows end-users to create their own 
simple applications, ad hoc queries or paint 
their own reports (used with ZIM or Query 
Runtime). 


And you'll be supported too! Zanthe's Priority 
Support program includes first-rate telephone 
technical support, free updates, new versions 
and periodic technical bulletins. Code Review 
and Training services are available for all lev¬ 
els of ZIM users. 

Around the world, from Australia to Europe, 

ZIM Service Centers and Distributors 

stand ready to supply and assist any ZIM user. 

Already an integral part of data management in 
national governments, international banks, fi¬ 
nancial corporations and thousands of other 
applications ZIM welcomes you to the world of 





Zanthe Information, Inc. 

1200-38 Antares Drive 
Nepean, Ontario K2E 7V2 

U.S. 800-267-9972 
Canada 613-727-1397 


ZIM is a registered trademark of Zanthe Information Inc. VAX and VMS are registered trademarks of 
Digital Equipment Corp. UNIX is a registered trademark of AT&T Bell Laboratories, XENIX and MS-DOS 
are registered trademarks of Microsoft Corp. QNX is a registered trademark of Quantum Software 
Systems Ltd. VM/CMS is a registered trademark of IBM Corp. © 1987 Zanthe Information Inc. 


CIRCLE NO. 236, ON READER SERVICE CARD 



ZIM DEFINES WORLD CLASS 


Australia 

Clarity Financial Services Software 
20th Floor 

Royal Exchange Building 
56 Pitt Street 
Sydney, Australia 2000 
Ms. Marie Musumeci 
011-61-2-241-3385 

United Computer Group 
45 Albert Street 
Abbotsford, Victoria 
3067 Australia 
Mr. Mike Guttmann 
011-61-3-429-3111 

Brazil 

Matix Com.Imp.e Exp.de Livros 
Teen i cos 

Roa Jose Dos Santos Jr. #207 
CEP 04609 
Sao Paulo, Brazil 
Mr. Jose DeSouza 
011-55-11-241-6264 

Canada 

Integratech 
19 Le Royer #301 
Montreal, P.Q. 

H2Y 1W4 
Canada 

Mr. Daniel LaRoeque 
514-842-9208 


Choreo Systems Inc. 

Italy 

United Kingdom 

28 Monkland Avenue 

Top Computer 

Xitan Ltd. 

Ottawa, Ontario 

Via Cavalcavia 

27 Salisbury Road 

K1S1Y9 

55-47023 

Totton, Southampton 

Canada 

Cesena Italia 

S04 3HX 

Mr. John Lugsdin 

Mr. Franco Faberi 

England 

613-238-1050 

011-39-547-22359 

Mr. Simon Tracy 
011-44-703-871211 

France 

Norway 


Syncrolog S.A. 

Data 2000 

United States 

52-54 Rue des Entrepreneurs 

Box 178 

Signature Computer Systems 

75015 Paris 

1371 

1634 Thompson Avenue 

Mr. Pierre Marcel 

Asker, Norway 

Glendale, CA 

011-33-1-45758054 

Mr. Nils Hougen 

91201 

Germany 

011-47-2-78-5848 

U.S.A. 

Switzerland 

Mr. John Nessen 

Repas Gmbh 

818-241-0619 

Voltastrasse #8 

Tanver S.A. Engineering 

Drieieich 6072 

& Data Systems 

Unipress Software 

West Germany 

52, av. d'Ouchy 

2025 Lincoln Highway 

Mr, Kevin Milton 

CH-1006 Lausanne 

Edison, NJ 

011-49-6103-34032 

Switzerland 

08817 

Mr. Marc Deschamps 

U.S.A. 

Soft Systems Gmbh 

011-021-277527 

Mr. Fred Pack 

Wilhelm-Leuschner, Str. 255 

Technosoftware AG 

201-985-8000 

D-6103 Griesheim 

West Germany 

Rothackerstrasse 13 

Lamda Micro Systems Inc. 

Mr. Peter Geier 

CH 5702 

Ill John Street 

011-49-61-55-62004 

Niederlenz, Schweiz 

New York, NY 

Switzerland 

10038 

Greece 

Mr. Markus Luthard 

U.S.A. 

Unitech 

011-41-64-5190-40 

Mr. Dean Kyriakos 

255 Singrou Avenue 

171 22, Athens 


212-349-2432 

Greece 


Systems Marketing Group 

Mr. Tsakiridis 


5433 Tree Line Drive 

011-30-1-9430632-3 


Centerville, VA 

22020-1651 

U.S.A. 

Mr. Larry Olson 

703-631-5083 


ZANTHE INFORMATION, INC. 


1200-38 Antares Drive, Nepean, Ontario K2E 7V2 
U.S. 800-267-9972 Canada 613-727-1397 


CIRCLE NO. 236 ON READER SERVICE CARD 





































C(Hnp]ete your Library 
of PC Tech Joumal... 

... Order those missing issues today! 




JULY 87 

INTELUGENTGRAPfflCS 
PROCESSORS—Unprecedented 
sophistication for PC Graphics; 
First look at Intel 82786 and 
TMS 34010; LAN-Compatible 
Applications; Exploiting the 
3270 Connection and more! 


MAY 87 

DATA MANAGERS AND LANS 
—Data integrity and multiuser 
considerations; COMPAQ 
Portable m; TOSHIBA 3100; 
Programming EMS Memory; 
Synchronizing Graphics Stand¬ 
ards; Editors as Programming 
Tbols; Command-Line Argu¬ 
ments for FORTRAN; Environ¬ 
ment Variables; dBUG/EGA; 
Saywhat?; Diskit 2 Plus; Dura- 
pak; and more! 

MARCH 87 

DESKPRO 386—Compaq’s 
Powerful Entry in the 80386 
Sweepstakes; Compatibility 
Performance Update; Modula-2 
Roundup; Multilevel Debugger; 
Binary Thnsfer; Procedural 
Algorithms in Prolog; Reper¬ 
toire; Filemax; Mace Utilities; 
Bastoc; What Computers 
Cannot Do and more. 


JANUARY 87 

TOKEN RING NETWORK- 
IBM’s Key to Connectivity; 
Hard-Disk Cards; Tslevideo’s 
Tblecat-286; Data Manager— 
IBM DATA and Reports; Mass- 
Storage Mergers; Display 
Adaptor Bottleneck; Realtime 
Systems: A Message-Passing 
Executive; Pixel Alignment of 
EGA Forms; Generic CADD; 
FANSI-CONSOLE; Above Disc 
and more. 



TE1@H 

TOURNAL 


Iliilf 






TESH 

TOURNAL 


JUNE87 

LAN HARDWARE STANDARDS 
—Flexible Specifications for 
LAN Hardware; AST’s Pre¬ 
mium/286; 286 Accelerator 
Boards; Data Manager: UNIFY; 
State of FORTRAN: RGRAPH, 
automating CAD; Drawing 
Flexible characters; Batch File 
Interaction; MacII Attack; 
pcANYWHERE;ZVIEW; 
Command Plus; Applied AI and 
more! 

APRIL 87 

dBASEDIALECTS-Three 
Compilers support a de fecto 
standard; ALR’s Access 386; 
Multiuser Solution:CLASSIC; 
DOS Exception Handling; A 
CADD Workstation; A Resident 
Exception Manager for DOS 
interrupts 22H and 23H; DOS 
moves on the 80386; R-Card; 
Ibm. Rettig’s Library; MEGA 
and more! 


FEBRUARY 87 

80386 ARCHITECTURE, Plus 
Windows Development Kit; 
Accelerators; PC’s Ltd 286; 
ASYSTANT-f; Speed Infusion; 
Tbken Ring Network Part 11; 
Execution Profiles to the PC, 
Part H; Vector 87; ADC Model 
TD 440; High C; Database 
Practicum; Creating Sounds 
and more. 


DIRECTORY 
ISSUE 86 

(Volume 4, No. 13) Complete 
Editorial Index fix)m Volume 1, 
No. 1 to Volume 4, No. 10; 
Comprehensive Product Guide 
for Hardware and Software for 
IBM Standard Personal Com¬ 
puters; Programmer’s Reference 
Assembly Language Pullout 
Card; Company Index and 
more. Over 640 Pages! 


DECEMBER 86— RT PC: Technology, Hard¬ 
ware and Software; IBM Cabling System; Basic Com¬ 
pilers; Large Thrbo Pascal Arrays; Reading Locked 
Files; The JRAM Family; Programming for AI; Jump 
Searching; Locked Lists and more. 

NOVEMBER 86-PROLOG ARRIVES Plus 3 
Compilers with Power & Speed; LAN GATEWAYS; 
Circuit Design from P-CAD; Execution Profiles, The 
EGA Spectrum Part 2; UNIX Serial Devices; IBM 
Proprinter XL; Draflex 1; Determining Free Disk 
Space and more. 

OCTOBER 86-EVALUATING THE EGA- 
Tbchnology and Implementation; Hewlett-Packard 
Vectra; DOS at 5 years; Data Manager; TAS-PLUS; 
FORTH Programming; Visible RAM Disk; Dynamic 
Memory Management; Computer Law—The Virtues 
of Patience; EGA Paint and more. 

SEPTEMBER 86-FORTH ARCHITECTURE 
AND INNERMOST WORKINGS; Interactive CAD; 
Clarion Review; Data Manager: DATABASE; 9 Multi- 
Port Boards Reviewed; Creating a Virtual Screen in 
Memory; Flicker Free Scrolling; Applied AI; Modula- 
2SDS; Modula 2/86 BUS; MIX C and more. 
AUGUST 86-OUT FROM THE SHADOW OF 
IBM COMPATBBIUTY AND PERFORMANCE ON 286 
MACHINES; Compaq DeskPro 286; Nine TYack Thpe 
Systems; Animation with Sprites; Using ROM Charac¬ 
ters; Skteen Color Graphics; Quickcode for 1-2-3; 
Let’s C and more. 

JULY 86-ANIMATION TECHNIQUES-Optimal 
Performance on the CGA; 5251 Emulation; PASCAL 
Compilers; Data Manager; METAFILE; Video Func¬ 
tion Call Fix; XTREE; The Nibbler; Macro Assembler 
4.0; KSH-1; Scientific Calculator and more. 

JUNE 86-SIX NEW SHAPES OF BASIC-Build- 
ing on BASICA; Instant Screens; Data manager: 
Knowledgeman/2; iRMX for the PC; Mechanical CAD; 
RTDs and Thermocouples; Accessing the Print 
Queue; Whitesmith’s C Compiler; Tkke Two; Zim 
Release 2.5; BASIC Development System and more. 
MAY 86-DIGITIZING ANALOG DATA-Data 
Acquisition Boards; Breaking the 32 Megabyte Bar¬ 
rier; Data Manager: dBASE III Plus; VRTX; Finding 
Disk Parameters; The State of C Interpreters; Bit 
Rotation Speeds; Matching Regular Expressions; the 
Softstrip System and more. 

QUANTITIES ARE 
LIMITED—ORDER 
TODAY! 


Don’t let there be a gap in your col¬ 
lection of expert coverage on applica¬ 
tions, tutorials and product reviews 
from PC TECH JOURNAL. Limited 
quantities of back-issues are available. 
Please use the attached coupon, and 
enclose $7 per issue ($8 per issue for 
all foreign and Canadian orders, US 
currency only) and remit to: 

K. Armstrong 

PC Tbch Journal 

One Park Avenue—4th Floor 

New York, NY 10016 


I-1 

[ lease send me the following issues of PC TECH JOURNAL. I am enclosing $7 per issue ($8 in Canada and all other foreign 

I countries, US currency only). 

I □ July 87 □ April 87 

I □ June 87 □ March 87 

j □ May 87 □ February 87 

ENCLOSED IS $_ 

I NAME_ 

I ADDRESS_ 

I CITY_STATE_ZIP 

I ORDER YOUR MISSING ISSUES OF PC TECH JOURNAL TODAY! 

I_ 


□ January 87 □ December 86 

□ Directory Issue □ November 86 

f$7.95 U-SV$9.95 q October 86 

Canada and Fbreign) 


□ September 86 □ June 86 

□ August 86 □ May 86 

□ July 86 □ Other 


j 























































'V' ■■ ^■- .■■■.■■ 


BASIC 


JUSTIN GROM 


W hen two major software vendors muscle up to the mar¬ 
ket with a new genre BASIC compiler, the products beg 
for a face-to-face comparison. Borland’s Turbo BASIC 
and Microsoft’s QuickBASIC offer integrated environments for 
entering, changing, compiling, and running programs—much in 
the manner pioneered by Borland’s Turbo Pascal. A clear win¬ 
ner would capture the BASIC market, not to mention enhancing 
the already legendary^ programming brilliance and marketing 
savvy of the winning product’s company. 

Like any good spoiler in prefight preparation, our interest 
in the products during beta test period was keen. The opening 
salvo was fired by Microsoft in the form of QuickBASIC 2.0. 
Borland responded with Turbo BASIC and briefly looked like 
the leader. Once QuickBASIC 3.0 emerged, however, a draw 
was clearly in the making. In fact, neither is declared the out- 
and-out winner of the face-off, but each has strengths and, in 
particular environments, is recommended (see table 1 for a 
comparison of the features of the two products). 

BASIC BASICS 

Of the major programming languages, only BASIC traditionally 
has been interpreted, not compiled, and thus offers a major 
advantage to programmers. Without the intervening steps of 
compilation and linking, programmers can enter and test pro¬ 
grams much faster. Consider, on the other hand, the advantages 
of a compiled language over an interpreted one: execution 










Pm 






Two software titans go head to 
head with a new genre of BASIC. 








L:4 


speed, security of source code, and no need for runtime sup¬ 
port beyond that provided by an operating system. 

The advantages of compilation have been available to 
BASIC programmers for some time and are thought to be im¬ 
proved enough to interest professional programmers. Five such 
BASIC compilers have been reviewed in these pages (see “Re¬ 
considering BASIC,” Marty Franz, December 1986, p. 142). I Iow- 
ever, those advantages usually are obtained by giving up the 
immediacy, quick turnaround, and. ease of use of an interpreter. 
That is now changing. Turbo BASIC and QuickBASIC version 3.0 
offer all of the advantages of compilation and, at the same time, 
give up very few of the amenities of interpretation. 

Borland clearly has modeled Turbo BASIC after its very 
successful Turbo Pascal, even improving on that model when 
possible. The editor, compiler, and runtime system form a 
seamless, integrated environment that is at least as nimble and 
responsive as the traditional BASIC interpreter. With its win¬ 
dowing facilities and point-and-shoot menus, this is an up-to- 
date, Turbo Prolog-like implementation—a great improvement 
over the somewhat archaic interface of Turbo Pascal. Turbo 
BASIC offers support for math coprocessors, program and data 
spaces each exceeding 64KB, and creation of stand-alone exe¬ 
cutable files without the need for a linker. Like Turbo Pascal, 
this is the fastest, easiest-to-use implementation of its language. 
However, just as Turbo Pascal has limitations, such as not allow¬ 
ing separate compilation, so does Turbo BASIC. 









BASIC FACE-OFF 


TABLE 1: Compiler Featiires 



BORLAND 

MICROSOFT 

Product 

Turbo BASIC 1.00c 

QuickBASIC 3.0 

Price 

$99 

$99 

BASIC FEATURES 

Required memory 

256KB 

320KB 

Copy protection 

O 

O 

DOS 2.x, 3.x support 

• 

• 

Separate compilation 

o 

• 

Output: 

.OBJ 

o 

• 

.EXE 

• 

• 

Needs linking 

o 

Optional 

Needs runtime system 

o 

Optional 

User libraries 

o 

• 

Conversion of MBF numbers 

• 

• 

Use with assembly language 

• 

• 

Programs over 64KB 

• 

• 

Data more than 64KB (see text) 

• 

• 

Distinct string and numeric data spaces 

• 

O 

PROGRAMMING ENVIRONMENT 

Full screen editor 

• 

• 

Block commands 

• 

• 

Find, replace 

• 

• 

Case sensitive 

• 

• 

Whole word 

• 

• 

Mouse support 

o 

• 

On-line help 

• 

• 

Context-sensitive 

• 

o 

LANGUAGE FEATURES 

Line numbers optional 

• 

• 

Named labels 

• 

• 

Multiline IF ... THEN ... ELSE 

• 

• 

Loop constructs 

3 

2 

Select case 

• 

• 

Recursion 

• 

O 

Length of variable names 

No limit 

40 

DATATYPES 

Integer 

• 

• 

Long integer 

• 

o 

Single precision real 

• 

• 

Double precision real 

• 

• 

IEEE format 

• 

• 

String 

• 

• 

Maximum string length 

32,767 

32,767 

Dynamic arrays 

• 

• 

Static arrays 

• 

• 

Dynamic strings 

• 

• 

HARDWARE SUPPORT 

8087 math 

• 

• 

8087 emulator option 

• 

• 

Mouse calls 

O 

• 

Light pen 

• 

• 

CGA 

• 

• 

EGA 

• 

• 

VGA 

• 

o 

Sound (PLAY statement) 

• 

• 

9 = Yes 0=No 




Both compilers support most of the features of interpreted BASICA, eliminate 
many of the interpreter’s limitations, and add some features of their own. 


Microsoft’s QuickBASIC is the third 
version of this product. In many ways, . 
it is a direct response to Borland’s 
challenge in the area of compiled 
BASIC, but it goes beyond that chal¬ 
lenge. The new Turbo-like features in¬ 
clude support for math coprocessors 
and the implementation of many struc¬ 
tured programming constructs. The 
beyond-Turbo features include a com¬ 
petent debugger and the ability to link 
object code from separately compiled 
modules that are written in Quick¬ 
BASIC or assembly language. 

With a reasonable price of $99, en¬ 
hancements to the BASIC language, all 
of the advantages, and very few disad¬ 
vantages of compilers. Turbo BASIC 
and QuickBASIC offer tlie user an es¬ 
cape from the limitations imposed by 
an interpreter. Both are vastly superior 
to the BASICA or GWBASIC usually ob¬ 
tained with DOS. 

BASICA COMPATIBIUTY 

Of course, it goes without saying that 
the best features of a language are of 
little use if they are new and unfamiliar 
to the programmer. However, in this 
regard. Turbo BASIC and QuickBASIC 
are generally compatible with BASICA, 
and both fully support the interpreter’s 
hardware control features. This in¬ 
cludes peeking and poking anywhere 
in the 1MB address space, reading and 
writing I/O ports, and high-level state¬ 
ments for graphics and sound. Many 
BASICA programs can be compiled by 
either compiler without changes to the 
source code, but others require 
changes in order to allow for differ¬ 
ences between die compilers and the 
interpreter. Some differences seem ar¬ 
bitrary. Turbo BASIC, for example, lim¬ 
its source code lines to 249 characters, 
whereas QuickBASIC and BASICA allow 
up to 255 characters. 

Another difference is in the imple¬ 
mentation of program chaining. Both 
compilers support only the plain 
CHAIN statement, without the DELETE, 
MERGE, or line-number options al¬ 
lowed by the interpreter. Therefore, 
when one compiled program chains to 
another, the target program always re¬ 
places the chaining program in mem¬ 
ory, and execution always begins at the 
first statement in die target. 

Other incompatibilities arise from 
the inherent differences between com¬ 
pilers and interpreters. For example, a 
compiler processes statements in se¬ 
quential order, so any declarations 
such as DEFINT and DIM must physi¬ 
cally precede die use of the declared 
variables. In an interpreter, declarations 


138 


PC TECH JOURNAL 











DELIVERS THESE ESSENTIAL FEATURES 
DOES YOUR DBMS? 


MDBS III is more powerful than 
most mainframe data base management 
systems. . . and less expensive. MDBS III 
was designed for serious application 
developers like you. Like the developers 
of Solomon III, the “Number (Dne” 
accounting system. And all the others 
who demand these essential features 
MDBS III provides: 

DATA STRUCTURING-So flexible it 
captures any data relationship you can 
imagine. So comprehensive you’ll design 
complex data bases faster than ever. 

TRUE MULTI-USER-Few DBMSs give 
you as many facilities to guard against 
haphazard concurrent data modification 
as MDBS III does, down to the locking 
of individual data records. 

PERFORMANCE-MDBS III gives you 
fast data modification and retrieval plus 
extensive performance tuning facilities. 

DATA INTEGRITY-MDBS III pro 
vides airtight integrity assurances. . . from 
range checking to transaction-logging to 
enforcement of data relationships .. all 
automatically. 

CIKCI.E NO. 21 I ON KF-ADEK SEUVICE CAKI) 

mdbs is a registered trademark and MDBS III is a trademark of Micro Data Base Systems, Inc. IMS is a trademark of IBM; IDMS of Cullinet. 


PHYSICAL DATA PROTECTION- 

You get automatic recovery from media 
as well as from physical data destruction. 

DATA SECURITY—Protect your data 
using passwords, encryption, and read/ 
write access down to the field level. 

PORTABILITY-MDBS III runs on a 
range of mini and micro computers 
including LANs, and supports a variety 
of host language interfaces. 

SUPPORT— mdbs is there when you 
need us, with in-depth seminars, tele 
phone support, individual consulting 
and contract programming to help you 
develop and install your applications. 

Call us today at 1-800-344-5832 for more 
information; in Canada or Indiana, dial 
3 1 7-463-2581. Or write mdbs, P.O. Box 248, 
Lafayette, IN 47902. TELEX 209147 
ISE UR. 




BASIC FACE-OFF 


must be executed before being used, 
but their placement in the source pro¬ 
gram is immaterial. 

Another key difference involves 
the use of variables in subcommand 
strings for commands such as DRAW 
and PLAY. For example, the command 

DFtAW ”M = X, = Y” 

draws a line from the current point to 
the point whose screen coordinates are 
given by the values of variables X and 
Y. An interpreter can recognize the var¬ 
iables and find their values because it 


maintains a symbol table, or list of vari¬ 
able names and locations, at runtime. A 
compiled program does not have ac¬ 
cess to the symbol table because the 
compiler translates all variable names 
to addresses. A compiled program exe¬ 
cutes faster because it does not have to 
look variables up in a symbol table. At 
runtime, the program cannot relate the 
variable names X and Y to their loca¬ 
tions in memory. Instead, the VARPTRI 
function instructs the compiler to place 
the variable’s address, not its name, in 
the command string. In compiled 



^ Never enter time 
and date again. 

dCl<K:k n $69.95 Slotless Clock-Calendar 

You’ll get right to work without the bother of entering time and date. 
dClock II does it for you automatically when you turn on your personal 
computer. dClock II does not take up a valuable expansion slot. It 
plugs into the back of your floppy disk drive, and can be installed 
in less than 5 minutes. 

B is with dClock II: 

:allation. Comes with floppy disk with 
software, easy-to-use installation manual, 
ibility with most all personal computers. 

lay money back guarantee, 1-year free 

To 0^6^(34)788-5198 


Actual Size 


Yes, please send my dClock 11. I’ve enclosed $69.95 plus $2 for 
shipping and handling. Checks or credit cards. No cash please. 


Street. 


City_State- 

Telephone No-Computer, 

Charge to my □ Visa □ MC □ American Express 


Signature. 


Microsync and dClock II are trademarks of Microsync Incorporated, 


CIRCLE NO. 180 ON READER SERVICE CARD 


BASIC, the above example can be writ¬ 
ten in eitlier of two ways: 

DRAW ”M = ” -L VARPTR$(X) 4- ”, = ” 

+ VARPTR$(Y) 

or 

DRAW ”M = ” 4- STR(INT(X)) 4- ”, = ” 

-h STR(INT(Y)) 

The compiler cannot recognize die use 
of variable names in command strings 
and automatically replace them with 
address references, because the varia¬ 
bles need not appear directly in a 
DRAW or PLAY statement. The example 
DRAW statement can be replaced by 
DRAW M$, where the variable M$ has 
been previously assigned a string such 
as “M = X, = Y”. At the time the string 
is assigned, the compiler has no way of 
knowing that it will be used in a DRAW 
statement. Furthermore, the variable 
M$ may not even have a value at com¬ 
pilation time; it may be read in from a 
file or otherwise constructed by a pro¬ 
gram at runtime. Therefore, the rewrit¬ 
ing of DRAW and PLAY statements is 
usually the major effort of converting a 
program to run with the compiler. 

Besides the issue of source-code 
compatibility, the issue of runtime 
compatibility must be addressed: will a 
compiled program produce the same 
results it did when interpreted? Expect 
two differences. First, because com¬ 
piled code executes more quickly, any 
time-dependent behavior based on the 
execution time of interpreted code will 
be different. For example, many BASIC 
games run too quickly when compiled. 
Second, real numbers calculated witli a 
math coprocessor (or a software emu¬ 
lation using the same IEEE numeric 
format) offer more precision tlian the 
Microsoft Binary Format (MBF) num¬ 
bers used by the interpreter. As a re¬ 
sult, numeric results can be slightly, or 
sometimes significantly, different. 

In general, however, both source- 
level and runtime compatibility be¬ 
tween the compilers and the inter¬ 
preter are excellent. Effort spent to 
convert a program is more than repaid 
by subsequent performance. 

LANGUAGE FEATURES 

Both compilers provide significant ex¬ 
tensions to the BASICA language. Some, 
like unnumbered lines, named labels, 
and structured programming constructs, 
are common to both, while others, like 
recursion and separate compilation, are 
offered only by one or the other. Pro¬ 
grams taking advantage of the more 
advanced features of one compiler are 
not likely to be acceptable to the other; 


140 


PC TECH JOURNAL 






of course, most programs written for 
either cannot be run with the inter¬ 
preter. In the following descriptions, 
features not specifically mentioned as 
implemented in one or the other com¬ 
piler are common to both. 

Program structure. Line numbers are 
optional, and numbered and unnum¬ 
bered lines can be mixed in the same 
program. Note that, unlike the line- 
number-oriented editor of BASICA, nei¬ 
ther compiler’s editor treats line num¬ 
bers in any special way; any duplicate 
line numbers are not reported as er¬ 
rors until compilation, and lines are 
not sorted by number upon input. In 
addition, renumbering is not sup¬ 
ported. Turbo BASIC supports the con¬ 
tinuation of long statements over sev¬ 
eral lines, but the length must remain 
within the 248-character limit. 

GOTO and GOSUB statements are 
supported, and their targets may be 
named labels as well as line numbers. 
However, many structured program¬ 
ming constructs are included that obvi¬ 
ate the need for these “spaghetti cod¬ 
ing” techniques. Conditional branching 
can be coded using either multiline IF 
. . . THEN . . . ELSE or SELECT CASE 
statements. In addition to the FOR . . . 
NEXT and WHILE . . . WEND loops of 
BASICA, DO WHILE and DO UNTIL 
loops are supported. The condition for 
controlling exit from the loop can be 
placed at the top or bottom of the 
loop; Turbo BASIC allows two condi¬ 
tions, one at each end of the loop. 

The EXIT statement further re¬ 
duces the necessity of using GOTOs. 
Turbo BASIC implements it whenever 
virtually any control structure is left 
prematurely: function, subroutine, IF, 
SELECT, or loop. QuickBASIC supports 
only EXIT FOR and EXIT DO. 

Modular programming. To encourage 
modular structure, both compilers sup¬ 
port two types of subprograms: proce¬ 
dures and functions. Unlike BASICA, 
functions can be defined over more 
than one line. Variables in a function, 
other than the parameters, are global 
by default, but can be declared local. 

In QuickBASIC, a function’s definition 
must precede its invocation; Turbo 
BASIC does not impose this restriction. 

Procedures are similar to the sub¬ 
routines invoked by the GOSUB state¬ 
ment of BASICA, but like functions, 
they have names and can be invoked 
with argument lists. The implementa¬ 
tion of procedures in the two compil¬ 
ers is very similar, but the scoping 
rules for variables are different. Turbo 
BASIC follows the traditions of the 
BASIC language; by default, all variables 


are global or known to all subpro¬ 
grams within the source file. Within a 
subprogram, however, variables can be 
made private by declaring them LOCAL 
or STATIC. Local variables are allocated 
at every entr}^ to the subprogram and 
deallocated at exit, whereas static varia¬ 
bles maintain their values between calls 
to the subprogram. 

In QuickBASIC, variables are local 
to each procedure by default, but if 
explicitly declared as SHAI^D, their 
scope extends to every subprogram 
within one source file. Of the two 


scoping conventions. Turbo’s is closer 
to the way BASIC has always been im¬ 
plemented and thus may be preferred 
by most BASIC programmers who have 
been using the language for some time. 
On the other hand, those with experi¬ 
ence with other languages may feel that 
Microsoft’s implementation finally 
makes BASIC a usable language. 

In Turbo BASIC, both functions 
and procedures can be used recur¬ 
sively, which means that a subprogram 
can call itself Recursion allows com¬ 
pact coding of many common numeric 


BASIC Programming Tools 

There’s nothing basic about these 
professional programming utilities. 


Whether you’re a seasoned expert or 
just starting out, we can help you create 
programs that run faster, work harder, 
and simply look better. We have built our 
reputation on customer satisfaction by 
providing expert advice and quality 
technical support. All Crescent Software 
products include source code, demonstra¬ 
tion programs, clear documentation, and 
a 30-day satisfaction guarantee. 

■ QBase is a superb screen designer 
and full-featured relational database. 
Because we include complete BASIC 
source code, QBase can be custom¬ 
ized to suit your needs. Besides its 
database capabilities, QBase is out¬ 
standing for creating custom titles, 
help screens, and product demos, 
and includes a versatile slide-show 
program. $99 


. 





QBase Report enhances QBase by 
generating reports with multiple levels 
of sorting, automatic record updating, 
browsing, and transaction posting. 

As a special bonus, QBase Report 
Includes a complete, ready to run, 
time billing application for computer 
professionals. $69 

I QuickPak contains more than 65 
essential routines for BASIC program¬ 
mers. Included are programs for 
windowing, access to DQS and BIQS 
services, searching and sorting string 
arrays, creating pull-down and Lotus^“ 
menus, accepting data input, and 
much more. QuickPak is loaded with 
examples and tutorial information, 
and comes with a clever tips and 
tricks book, plus The Assembly Tutor 
— a complete guide to learning 
assembly language from a BASIC 
perspective. $69 

f By Customer Demand — QuickPak II 

More than 30 additional tools, includ¬ 
ing disk and printer tests to eliminate 
the need for Qn Error in your programs, 


and a multi-line text input routine that 
lets you put a note pad with full word 
wrap anywhere on the screen from 
within your programs. Qther routines 
include binary file access, more menus, 
multiple screen save and restore, con¬ 
tinuous time display, automatic box 
drawing, and much more. (Available 
for use with QuickBASIC only.] $49 

M GraphPak is an extensive collection 
of routines for displaying line, bar, and 
pie charts automatically within your 
programs. It will create 3-D charts 
with manual or automatic scaling, 
titles and legends in any size or style, 
as well as scrolling and windowing in 
graphics. GraphPak also comes with a 
sophisticated font editor for custom¬ 
izing your own character sets. $69 



CRESCENT 

SOFTWARE 


64 Fort Point Street, East Norwalk, CT 06855 
(203) 846-2500 

Separate versions are available for Microsoft 
QuickBASIC and Borland Turbo Basic — please 
specify when ordering. No royalties, not copy pro¬ 
tected, of course. We accept Visa, M/C, C.O.D. and 
Checks. Add $5 shipping and handling, $10 overnight 
and foreign, S25 2nd day foreign. 


CIRCLE NO. 144 ON READER SERVICE CARD 


SEPTEMBER 1987 


141 











BASIC FACE-OFF 


and data processing problems, but it 
comes at the price of complexity and 
difficulty in following the program’s 
logic. QuickBASIC does not support 
recursion, but (paving the way for fu¬ 
ture implementation) requires that all 
current procedures be declared STATIC 
or nonrecursive. 

Because it supports separate com¬ 
pilation, QuickBASIC has stronger sup¬ 
port for modular programming; sub¬ 
programs can be compiled into sepa¬ 
rate object files and later linked into an 
executable program. Object files can 


also be collected into user libraries and 
retrieved automatically by the linker as 
needed. In Tlirbo BASIC, all subpro¬ 
grams of a module must be recompiled 
when a change is made to any one of 
them. This is made somewhat easier by 
the faa that subprograms need not 
physically reside in the calling main 
program file, but can be inserted into 
the main program file at compilation 
time with INCLUDE statements. Quick¬ 
BASIC also supports INCLUDE. 

Data types, l^pe declarations for nu¬ 
meric variables follow the BASICA con¬ 


ventions; they are optional, but can be 
made either by a DEE statement or by 
a sufiBx on the variable name. TUrbo 
BASIC implements real numbers in 
IEEE format, QuickBASIC provides both 
IEEE and the MBF format used by 
B^ICA and previous versions of 
QuickBASIC. The differences in format 
are significant primarily if a program 
reads file data prepared by, or writes 
data to a file for, a program that uses 
the other format. Otherwise, the only 
consideration is that IEEE provides 
more precision and therefore can pro¬ 
duce different results in calculations. 
Both compilers provide functions for 
converting between formats. 

For integer data, Tlirbo BASIC pro¬ 
vides an extension in the form of a 
long integer type, a 4-byte number with 
a range from -2^^ to +2^^ (a magni¬ 
tude of more than 2 billion). Long inte¬ 
gers are declared by the DEFLNG state¬ 
ment or by suffixing & (ampersand) to 
the variable name. This type can be 
used in applications requiring more 
accuracy than provided by real num¬ 
bers, especially without a coprocessor. 
Accounting data kept in integer cents 
can represent sums of more than $21 
million. 

Both compilers offer named con¬ 
stants as an extension to the language. 
Tlirbo BASIC allows only integer 
named constants, which are declared 
by prefixing % to the name. Potential 
confusion exists in that integer varia¬ 
bles have the same character as a suf¬ 
fix. In QuickBASIC, the CONST state¬ 
ment can name any constant, including 
the string type. 

Strings are implemented in the 
standard BASIC fashion in these two 
packages. All strings are dynamic, 
meaning that their size does not need 
to be declared. The maximum length 
of a string is 32,767 charaaers. 
Coprocessor support. By default. Turbo 
BASIC creates programs that automati¬ 
cally use a math coprocessor if one is 
present at runtime, or emulate it in 
software if not. A compile-time option 
is available to turn off generation of 
the emulation code for programs that 
will run only on machines equipped 
with coprocessors. Unfortunately, such 
programs crash hard when run on a 
system without a processor, requiring a 
cold boot to recover. 

QuickBASIC offers more options. It 
is supplied in two versions: QB without 
coprocessor support and QB87 with. 
Programs compiled with the QB ver¬ 
sion use real numbers in MBF format, 
perform all calculations in software, 
and are forever oblivious to the pres- 


Now COBOL Programmers Can Do Formatted 
Screens Quickly and Easily - with SCREENIO. 


SCREENIO is the Screen Manager for Realia”" COBOL. 

SCREENIO is a high-performance, COBOL-specific screen manager for the Personal Computer and compatibles. It’s power¬ 
ful, offers an impressive array of features, yet is easy to use. SCREENIO was written by experienced COBOL professionals 
and represents a truly COBOL approach to screen management on the PC. 


Design and Revise Screens Painlessly With Our Panel Editor. 

Use our interactive Panel Editor Facility to design your screens with a What%u-See-Is-What-You-Get approach. You can 
easily modify and experiment with screen layouts. TVpe titles and descriptive information on the screen, draw lines and 
boxes using the cursor movement keys, and paint the colors you want using the cursor keys or block functions. Use all 
256 color combinations on your screens. 

Define your data fields in COBOL terms; use your own data name, PICTURE and VALUE clauses. Specify the field type 
(various alpha and numeric types, hex, etc), valid entries for the field (if you want SCREENIO to edit your data for you), 
and various other items. The Panel Editor will produce a copybook that contains this information. P&nel revisions rarely 
mean changing your source code. 


Programming for SCREENIO is Easy. 

■fou can display your screen and accept data with as few as two statements; a COPY txmdname in your WORKING-STORAGE 
SECTION, and a CALL SCREENIO statement in the PROCEDURE DIVISION. SCREENIO is linked with your applica¬ 
tion just as any other COBOL subroutine would be. 

SCREENIO takes care of tabbing, data validation, and other functions expected of a good screen manager. When we return 
to your COBOL program, the data from the user fields on the screen is in your variables. 

Yes, we've always done windows. SCREENIO supports Edit Masks, Automatic Error Detection and Editing, Hi^ Speed 
Video, Hot-Relds, Key Redefinition, Foreign Language Capability, Custom Tabbing Order, Color C^ontrol at Runtime, PC 
Speaker Control, and much, much more. A BMS Mapset Import is available. Most programmers are amazed at how easy 
it is to build flashy applications using SCREENIO and COBOL. 


Our Support is Outstanding. 

We provide superb telephone support. Upgrades are distributed to licensed users automatically for the first year. There are 
no Runtime I^ - the code you develop is yours to distribute freely. 

Call us to discuss your application. Get a feel for the kind of quality support we provide. 


We^U Send You a Free Demonstration Diskette. 

This limited version of our Panel Editor shows how you design panels. Because it’s written with COBOl 
it also shows the kind of features and performance you can expect in your applications. 

SCREENIO 2.1 is only $400 plus shipping. Save $100 - order SCREENIO and Realia COBOL from 
us. We also offer packages wi^ Kedit, a great programming editor. Ask about our other 
programming tools, toa 

Not satisfied with FORMS*®? Ask about SCREENIO for Micro Focu8”“COBOL 
In a hurry? Most orders are delivered within 24 hours! 

- Amex MC Visa Check - 


INI O F^GO> l\/l 

Northern Computing Consultants 
RO. Box 020897 • Juneau, Alaska 
(907) 780-6464 • TELEX 510 601 4951 


CIRCLE NO. 191 ON READER SERVICE CARD 



142 


PC TECH JOURNAL 




ence of a coprocessor. The QB87 ver¬ 
sion of the compiler runs only on a 
system with a coprocessor; if started on 
a system without one, it produces an 
error message and exits gracefully. 

Programs compiled with QB87 run 
with or without a math coprocessor, 
performing software emulation as nec¬ 
essary. Emulation is automatic for pro¬ 
grams that use the QuickBASIC runtime 
module, but must be explicitly re¬ 
quested (by including an object mod¬ 
ule at link time) for programs linked 
into* stand-alone modules. If a Quick¬ 
BASIC program without the eniulation 
module is started on a system without 
a coprocessor, it exits with a message, 
not a complete crash. Further QB87 
options are available to force emulation 
even on machines with a coprocessor 
and to use MBF instead of IEEE format 
for real numbers. 

Arrays. Both compilers limit individual 
arrays to 64KB, but allow as many nu¬ 
meric arrays as will fit in memory. Ar¬ 
rays can be either static (allocated at 
compile time) or dynamic (allocated 
when the DIM statement is executed at 
runtime). Dynamic arrays can be di¬ 
mensioned with variable sizes or 
redimensioned during the course of 
execution. The QuickBASIC manual 
states that large numeric arrays must 
be dynamic, but does not define large. 
The limits on static arrays and on static 
data are discussed in memory usage 
section of this article. 

Hirbo BASIC supports arrays with 
up to 8 dimensions, while QuickBASIC, 
theoretically supports 63. It is not pos¬ 
sible, however, to have anywhere near 
that many and remain within the size 
limitation. The total number of ele¬ 
ments in an array is given by the prod¬ 
uct of the number of elements on each 
dimension. For an integer array, the 
limit is 32,768 two-byte elements. With 
two elements per dimension (the mini¬ 
mum useful number), no more than 15 
dimensions are allowed, simply be¬ 
cause 2^^ equals 32,768. 

In QuickBASIC, as in BASICA, the 
index of the first element can be set 
with the OPTION BASE statement to 
either 0 or 1; the former is the default. 
Turbo BASIC allows setting the mini¬ 
mum subscript of all arrays to any inte¬ 
ger value with the OPTION BASE state¬ 
ment and, as in Pascal, specifying both 
lower and upper subscript bounds for 
a particular array in the DIM statement. 
For example, 

DIM Automobiles( 1910:2000) 

Both compilers (as well as BASICA) 
store array elements in column order. 


For example, the element following 
A(3,2) in memory is A(4,2). Quick¬ 
BASIC also has the option of changing 
to row order so that the element fol¬ 
lowing A(3,2) would be A(3,3)- 
Files. The compilers provide the stan¬ 
dard set of BASIC file-handling state¬ 
ments for performing I/O on random 
and sequential files. Record-oriented 
I/O is performed as it is in BASICA, 
using FIELD statements for specifying 
the record layout. Neither language 
supports a compound data type for 
constructing records or structures. 


To the standard capabilities, Quick¬ 
BASIC adds file- and record-locking 
statements that permit shared file ac¬ 
cess in networked environments. Locks 
can be applied to entire files or to a 
range of consecutive specified records. 

Turbo BASIC adds a binary file 
mode that treats a file as a sequence of 
bytes. In binary mode, a file pointer 
can be positioned at an arbitrary byte 
location within the file, and an arbitrary 
number of bytes can be read or written 
in one I/O operation. Although the 
equivalent capabilities can be pro- 


SAVE HOURS OF VALUABLE 
PROGRAMMING TIME! 





A low cost Window Management Library for BASIC 

■ Create windows, mouse/kb driven pop-up 
and pull-down menus, and powerful data entry 
routines quickly and easily. 

■ Fast! Written entirely in assembly language 

■ Efficient! Uses less than 24K of object code 

■ Full mouse interface for Microsoft compatible 
mouse: 

■ Device independence - Automatically detects 
video display. 

Comes complete with a library of over 60 functions, a fully- 
documented manual, many programming examples, and a demo/ 
tutorial program to show you how to use each of the functions. All 
for only $59. Add $20 for the QuickWindows assembly language 
source code. 

No royalties are required for using QuickWindows™ in your 
programs and not copy protected. 30-day money back guarantee. 
For IBM/True compatibles and Microsoft QuickBasic or BASCOM, 
DOS 2.0 or later. 


Call now for your 
FREE demo disk! 

401-274-5465 

Visa, MC and Phone orders 
welcome. 

Dealer discounts available. 


Kiterpha^m 

^ _ INCORPORATED^ 

5 Bradley Street, Suite 5 
Providence, RI02908-2304 


CIRCLE NO. 217 ON READER SERVICE CARD 


SEPTEMBER 1987 


143 




BASIC FACE-OFF 

grammed with standard random-access 
files, this method is both easier to pro¬ 
gram and more efficient. 

Graphics and sound. Borland and 
Microsoft compilers both fully support 
the graphics and sound capabilities of 
BASICA version 3.2, with differences 
mandated by the nature of a compiler. 
The main difference is the need to re¬ 
place variables in the command strings 
of DRAW and PLAY statements with 
VARPTR$ or STR$ functions. 

All Color Graphics Adapter (CGA) 
and Enhanced Graphics Adapter (EGA) 
modes are supported, as well as 
screen-control statements for window¬ 
ing and setting the orientation and log¬ 
ical dimensions of the on-screen coor¬ 
dinates. Turbo BASIC offers two Video 
Graphics Array (VGA) modes of IBM’s 
PS/2 series: SCREEN 11 yields 640-by- 
480 graphics with 2 colors; SCREEN 12 
is 640-by-480 with 16 colors. 

Memory usage. Both compilers free the 
user from the BASICA memory restric¬ 
tion of 64KB for code and data to¬ 
gether. Although they both advertise 
that machine memory is the only size 
limitation on programs and data, this 
applies only to the final program after 
linking together smaller components. 

Turbo BASIC restricts to 64KB the 
source-code file that can be handled by 


the editor. Larger programs can be 
compiled by breaking them up into 
several files and then collecting them 
with $INCLUDE statements for compila¬ 
tion. If the code generated by the pro¬ 
gram exceeds 64KB, the programmer 
must manually break it up into seg¬ 
ments of 64KB or fewer by inserting 
$SEGMENT statements into the code. 
Programs are limited to 16 segments. 
Although this is a reasonable limitation, 
it puts burden of tracking segment lim¬ 
its on the programmer and not on the 
program (where it belongs). 

Hidden away in error messages 
(but confirmed by Microsoft technical 
support) is the fact that QuickBASIC 
also limits the code from one program 
module (main or subprogram) to 
64KB. This limitation is rarely encoun¬ 
tered because each subprogram is 
placed in its own segment. Segmenta¬ 
tion is automatic as long as each pro¬ 
gram module is a reasonable length. 

Each compiler manages data space 
differently. Turbo BASIC uses at least 
three segments, each up to 64KB. One 
holds the runtime stack and other data 
for the runtime system; the second 
holds the program’s scalar data, string 
descriptors, and array descriptors; the 
third is for the program’s strings (in¬ 
cluding string arrays). It also allocates 



HIGH POWER 
WITHOUT THE 
HIGH PRICE 


Microstat® has been the most popular statistics package for microcomputers since we in¬ 
troduced it in 1978. In the past two years, Microstat has been requested by name on more 
military contracts than any other statistics package. When it comes to coverage, ease of 
use, accuracy, and value, Microstat is unbeatable. Just some of it features include: 


Data Management Subsystem for file creation and 

■ Read external files (e.g., Lotus^ 

management. 

dBasell, ASCII) 

Data Transformations 

■ Descriptive Statistics 

Hypothesis Testing 

■ Scatterplots 

Three types of ANOVA 

■ Correlation Analysis 

Simple, Multiple, Stepwise Multiple Regression 

■ Time Series 

11 Nonparametric Tests 

■ 8 Probability Distributions 

Factorials, Permutations, Combinations 

■ Crosstabs and Chi-Square 

Batch or Interactive Operation 

■ User’s Manual 


Microstat® is 
available for MSDOS, 
PCDOS, CP/M80, 
CP/M86. The price is 
$375.00. Multiple copy 
discounts and cost- 
effective site licenses 
are available. 

To order, call: 

800 - 952-0472 

(for orders) 
or 

317 - 255-6476 

(tech, info.) 


JniolVIoM 

Software Report Card 



MICROSTAT 

ECOSOFT 


Infoworld, March 16,1981. 


Functionally 
Documentation 
Ease of Use 
Error Handling 
Support 



Ecosoft Inc. 

6413 N. College Ave. 
Indianapolis, IN 46220 



each numeric array its own segment, 
each up to 64KB, and permits as many 
arrays as system memory allows. 

QuicldBASIC has one main data 
segment shared by the runtime system 
(for the stack and other overhead) and 
the program (for scalar data, string 
space, and static arrays). Only dynamic 
numeric arrays are allocated in distinct 
segments, as in Turbo BASIC. Thus, 
QuickBASIC has no distinct size limits 
for total string data and static arrays, 
because each depends on the other 
and on the total data requirements of 
the program. 

Assembly language interfiice. The CALL 
statement in both compilers permits 
calls to assembly language subroutines, 
using the same syntax that is used for 
calling BASIC subroutines. In Quick¬ 
BASIC, object code from assembly lan¬ 
guage procedures can be included at 
the link step. 

Tbrbo BASIC, however, has no link 
step, so calls must be resolved by rou¬ 
tines within the same source file. An 
assembly language routine has the 
same header as a BASIC routine (a SUB 
statement), but its body consists of one 
or more $INLINE statements. As in 
Tlirbo Pascal, an {INLINE statement can 
contain constants that define bytes of 
machine code. As a useful extension, 
Tlirbo BASIC also allows the {INLINE 
statement to contain the name of a 
.COM file from which the code is 
loaded at compile time. 

EASE OF mSXALLAnON 

Neither compiler is copy protected, 
and installation requires nothing more 
than using DOS commands to copy 
appropriate files to a diskette or hard 
disk. The instructions are clear and 
should pose no problems to users ex¬ 
perienced enough to use a compiler. 
This installation method has two advan¬ 
tages: first, it holds no surprises with 
modified AUTOEXEC.BAT and 
CONFIG.SYS files that automated instal¬ 
lation sometimes produces; second, the 
user can allocate files to directories of 
choice. Both compilers provide sugges¬ 
tions users are free to follow or not. 

Turbo BASIC is provided on two 
diskettes, one of which contains sample 
programs. A working system consists of 
only the main TB.EXE file and a help 
file, which together total fewer than 
250KB, so a diskette-only machine is 
quite practical for this compiler. 

QuickBASIC’s two versions, QB 
and QB87, each comes on two dis¬ 
kettes. A minimum installation consists 
of five files (the compiler, linker, run¬ 
time system, and two link-time librar- 


144 


CIRCLE NO. 131 ON READER SERVICE CARD 


PC TECH JOURNAL 







'Eirde Souped 


Nantucket. 


Real programmers don’t use dBASE. Or do they? 

We’re finding that some very swift programmers are using it to 

write some very fast applications, 
and are completing their 
projects much more quickly 
But they cheat. 

They use our Clipper™ 
compiler to combine dBASE™ 
with C and assembler. 

With dBASE used like 
pseudo-code, they can then quickly create 
prototypes that actually run. 

Then, with dBASE doing the high-level database functions, 
they use our Clipper compiler to link in C or assembly language 
modules from their own bag of tricks. 

And they’re finding that they’re linking in less than they 
expected because Clipper compiled code runs so fast and 
because of Clipper’s built-in enhancements. 

Clipper includes easy networking that provides file and 
record locking the way it should be done. 

Fast screens that can be treated as memory variables and 
eliminate the need for direct screen writes and all that tortuous 
heap management code. 

Box commands that make 
windowing a breeze. And more. 

So if you’d like to use your time 
more productively check us out: 

Nantucket Corporation, 

12555 W Jefferson Boulevard, 

Los Angeles, CA 90066. 

Or if you’re on deadline, call 
(213) 390-7923 today 

Clipper could get you out of 
the soup. 



© Nantucket Corporation 1987 Clipper is a trademark of Nantucket Corporation: dBASE isn't. In Europe: Nantucket Corporation (Europe) 2 Bluecoats Avenue. Fore Street. Hertford. Herts SG14 1PB Telephone 0992 554621. 


CIRCLE NO. 224 ON READER SERVICE CARD 








BASIC FACE-OFF 



The default screen contains four tiled windows, the size, 
position, and colors of which can be changed. Pull-down 
menus appear when items are chosen from the top line. 



Windows are fewer and larger in QuickBASIC, with the win¬ 
dow for current activity occupying most of the screen. 

Only the colors of the editing window can be changed. 


ies) totaling about 500KB. In addition, 
each has a utility for building user li¬ 
braries (not the same as the LIB pro¬ 
gram supplied with other Microsoft lan¬ 
guages), several object files to support 
the assembly language interface, and 
some sample programs. 

PROGRAMMING ENVIRONMENT 

Superficially similar, the two compilers’ 
programming environments reflect dif¬ 
ferent designs. Flashy Turbo BASIC has 
colorful windows and a blizzard of 
pull-down menus. QuickBASIC is more 
restrained and even provides the mini¬ 
malist option of invoking the compiler 
from the DOS command line (or a 
batch file) without entering the pro¬ 
gramming environment. 

Turbo BASIC’s initial screen has 
four windows for editing, compiler 
messages, program output, and trace 
output (see photo 1). The user makes 
selections from the main menu bar 
across the top of the screen by typing 
the first letter of the command or by 
moving a highlight with the arrow keys 
and pressing Enter. Upon selection of 
most main entrees, pull-down menus 
containing additional options appear, 
which produce more pull-downs—in 
some cases to a depth of four levels. 

Turbo BASIC allows changes to the 
size and position of any window, and 
any or all windows can be zoomed to 
occupy the full screen. When all win¬ 
dows are full-sized, they are shuffled 
much like sheets of paper on a desk. 
The user can change color settings of 
text, backgrounds, and borders in both 
windows and menus and save the set¬ 
tings to disk so that they can be re¬ 


loaded the next time Turbo BASIC is 
started. Several files of settings can be 
saved, one of them as the default that 
is automatically loaded. 

QuickBASIC displays one main 
window at time, presenting a less clut¬ 
tered appearance than Turbo BASIC 
(see photo 2). Its Macintosh-like inter¬ 
face is really designed for use with a 
mouse. Mouseless navigation through 
this environment can be tedious. 

Users select from the main menu 
by pointing and clicking the mouse or 
by pressing Alt and the first letter of 
the function. Most selections produce a 
small pull-down menu, which may pro¬ 
duce a large pop-up window for setting 
various options. 

The advantage of using a mouse is 
especially evident on the* screen that 
sets compile-time options. Without a 
mouse, selections are made by moving 
a highlight through the option fields 
with the Tab key; arriving at the de¬ 
sired option requires tabbing through 
all the preceding ones in sequence. In 
an effort to speed the process of 
mouseless selection, Microsoft has pro¬ 
vided “shortcut” keys for some func¬ 
tions. Unfortunately, these key se¬ 
quences can be difficult to remember, 
and once the menu has been pulled 
down to where the shortcut keystrokes 
are shown, they no longer work. 

QuickBASIC provides for changing 
the colors of the edit screen, but not of 
the pull-down menus or option-setting 
screens. It does, however, allow the 
user to turn off color totally for use 
with a black-and-white monitor that is 
connected to a graphics board. With 
Turbo BASIC, colors would have to be 


turned off individually for each sepa¬ 
rate screen and menu. 

Both Turbo BASIC and Quick¬ 
BASIC offer on-line help. Turbo’s is the. 
nicer of the two, featuring context- 
sensitive help with a main directory 
and different pop-up screens for vari¬ 
ous help topics. The QuickBASIC help 
feature consists of a single screen sum¬ 
marizing the keyboard commands. 
Editing. The Turbo BASIC editor uses 
commands similar to WordStar, Turbo 
Pascal, and many other text editors. 

This is a great feature for users familiar 
with that command structure, but com¬ 
binations such as Ctrl-K-V for a block 
move or Ctrl-Q-A for search and re¬ 
place functions seem rather arcane to 
those accustomed to other text editors. 
The key combinations are far from 
mnemonic, but they are ergonomically 
efficient, so once mastered the editing 
operations go quickly. Besides, an in¬ 
stallation utility allows the user to rede¬ 
fine the command-key sequences. 

QuickBASIC’s editor, like the rest 
of that environment, is best used with a 
mouse. Scroll bars along the right and 
bottom margins of the window allow 
quick positioning: pointing halfway 
down the vertical scroll bar and click¬ 
ing the mouse button positions the 
screen about halfway down the file. 
Marks within the scroll bar indicate the 
approximate position of the cursor rel¬ 
ative to the start of the file. 

Mouse-controlled block commands 
are especially easy; to define a block 
the user presses the mouse button at 
the start of the block, scans to the end, 
and then releases the button. A pull¬ 
down menu lists all block functions. 


146 


PC TECH JOURNAL 
























ONLYORCHID 
GIVES YOU SO 
MANYWAYSTO 
TURBOCHARGE 
PC ENGINES. 

With Orchid’s family of turbos, you 
can get the performance you bought 
a computer for in the first place. Light¬ 
ning spreadsheet reca/culations. CAD 
screens that re^'ewerate in a flash. And 
large data bases that sort without 
putting you to sleep. 


ORCHID'S TURBO FAMILY 







TinyTurbo 

286 

Kturbo 

286elOMHz 

Jet 

386 


Host 

Computer 

PC, XT 

PC, XT AT 

AT 

Reference 

Speed 

3xXT 

6.5 X XT 

3xAT 

Accelerotor 

Type 

Reploces 

8088 

Co-processor 

Replaces 

80286 

CPU 

8 MHz 

80286 

10 MHz 
80286 

16 MHz 
80386 

RAM 

8K 

Cache 

lor2MB 

EAAS 

64K 

Cache 





IF YOU HAVE AN YOU GET WITH 

I 3 X SPEED I -► ! TinyTurbo2^ 

I 6JXSPEE0 I- .-I PCluibo2e4e I 



GEI THE EDITOR'S CHOICE: 
TinyTurbo286r 

The TinyThrbo 286™ supercharges 
your XT to run three times faster. Yet 
it’s so small it takes up only half a slot 
in your computer. Just two reasons 
vfhy PC Magazine named it the 
Editor’s Choice. 

TinyTlirbo 286 gives you a high level 
of compatibility. So you can run soft¬ 
ware like Lotus and Windows—with EGA 
graphics, EMS memory, or networking 
cards—at AT speed. You can even go 
back to your PC’s regular 8088 chip, 
which remains in the system, ^ving 
you 100% hardware compatibility. 

ADD AWESOME PERFORMANCE: 

PCturbo286er 

For power users, the front runner 
today in accelerators is clearly the 
PCturbo 286er It revs up to 6.5 times 
faster than an XT, or up to 3 times 
AT speed—giving you the world’s 
fastest screen I/O. Plus the PCturbo 
286e comes factory equipped with 1 
Megabyte of fast RAM, expandable 
to 2. 




The PCturbo 286e is also a power¬ 
ful tool for developers and systems 
integrators. With features like an 
optional 10-MHz 80287 math chip, and 
coprocessing software for concurrent 
foreground/background tasks, the 
PCturbo 286e lets you build minicompu- 
ter-like performance into standard PCs. 

MOVE YOUR AT UP TO 386 
HORSEPOWER NOW: 
Jet386r 

Thke a look today at the price/per¬ 
formance leader in desktop computing: 
the Jet 386r Depending on the applica¬ 
tion, it’s up to three timesfaster tha.n 
an AT. And tunce as fast as some high- 
performance minicomputers. Yet you 
don’t have to buy an expensive 386- 
based computer to get this kind of 
horsepower. 

More importantly, the Jet 386 uses 
next generation technology, the 80386 
microprocessor. So you can run all of 
the current software for the AT now, 
and 386 soft¬ 
ware too. Add 
a Jet 386 to 
your AT today, 
and you can 
extend the 
life of your 
investment- 
fora fi”action 
of the cost. 


Jet 386: 

3 Times 
ATSpeed 


FROM THE COMPANY 
THAT STARTED IT ALL 

Orchid introduced the first turbo for 
PCs, and has since become the number 
one supplier of PC accelerators. For 
details on our full line of accelerators, 
graphics, networks and multi-function 
cards, call (415) 683-0300 
today. Or contact your 
local dealer. 

TinvTurbo 286, PCturbo 286e ond Jet 386 c 
trademarks af Orchid Technology. All other 
product names are trademarks of their 
manufacturers. 

ORCHID TECHNOLOGY 
45365 NORTHPORT LOOP WEST 
FREMONT, CA 94538 
(415) 683-0300; TLX 709289. 


Tinyliiriio 286: 

3 Times 
XT Speed 


ORCHID 


See us at PC Expo 
Sept. 1-3, Booth #961 


PCturbo 286e: 

6.5 Times XT Speed 


3xAT 6.5 xXT 


3xXT 


CIRCLE NO 






















































BASIC FACE-OFF 



Basic does Database 


igernGfit tasks 


kSmSSs” 

N w comWn® *lw 

or your CllOntS. 


db/LIB replaces Basic’s hard-coded file handling (Open, Close, Get, 
Put, LSet, Field As) with powerful Relational Database Management 
routines which let you: 

• create relational file structures • have up to 24 DBF or NDX files open 

• access fields by field name or number • manage over 4 billion bytes per file 

• Index on one or many key fields • write programs to interface directly 

• find all records that match a key with dBASE III applications 

All the power you need to tackle any job! 

^b/LIB calls look like this: 

• CALL GetREC (file%, status%, record#, recdata$) 

—► returns into recdata$ the data from record# of the file file%; 

—►status% shows successful completion. 

Some other db/LIB routines: 

• OpenDBFQ Creates or opens Datafile • AddKEYQ Puts a key into Index 

• DefineSTRQ Defines data structure • GetKEYQ Finds a record based on key 

• PutRECO Writes a record to disk • DeleteKEYQ Deletes a key from Index 

• OpenNDXO Creates or opens Index file 

db/LIB routines are called directly from BASIC 

• Links with BCOM or BRUN modules 

• Conforms to the QuickBASIC standard CALLing convention 

^ou already know how to use It! 
gb/LIB makes you more productive by: 

^ • letting your programs work on any • employing dynamic string allocation 
datafile • assisting in conversion of BASIC 

• finding on partial keys, or next, prior data files to db/LIB’s DBF format 

• finding records in large files In seconds • maintaining unique key, and ‘deleted’ 

• configuring the pool segment for status 

target machine • trapping and diagnosing error 

• managing Internal file buffers conditions 


db/LIB takes your BASIC application seriously! 

hi 

^db/LIB utilizes the dBASE III file format, a recognized standard. 

• db/LIB is written to the highest specifications to assure top performance. 

• Full Documentation and on-disk code are the building blocks of a DBMS. 

• System Requirements: QuickBASIC 2.01, 3.0; DOS 2.0+; 256K memory 

Put our experience to work for you! 


ONLY 


If database management is one of your basic 
needs, then db/LIB should be your next call. 
db/LIB will perform as described oryour money 
back. 


AJS PUBLISHING, INC 

RO Box 379 

North Hollywood, CA 91603 


(800) 992-3383 

In California Call 
(818) 985-3383 
9:00 am - 5:00 pm 
Pacific Time 

VISA, MasterCard Accepted 


db/LIB is a trademark of AJS Publishing, Inc. 
Microsolt is a trademark ol Microsoft Corp. 
dBASE III is a registered trademark ol AshtonTate 


'Professionals In Software' 


The process becomes more difficult 
and time-consuming if the block 
crosses screen boundaries, because the 
text must scroll until the end of the 
block enters the window. Search and 
replace commands are easily made by 
using the mouse cursor or cursor keys 
to select prompts on pull-down menus. 

When running QuickBASIC without 
a mouse, the user selects text with a 
combination of Shift and arrow keys. A 
block that stretches over screen bound¬ 
aries can be selected quickly with the 
Shift and PgUp and PgDn keys. Once 
the text is selected, the same edit 
menu used with the mouse is invoked 
by pressing Alt-E and moving through 
the menu with arrow keys. Even if a 
mouse is present, some operations can 
be performed more quickly with the 
key combinations. 

The assignment of editor functions 
to shifted arrow keys could be a minor 
annoyance to users accustomed to 
using the Shift key to reverse tempo¬ 
rarily the numeric state of the keypad. 
With NumLock off, pressing Shift-Up- 
Arrow does not type the digit 8, but 
instead selects a block of text. 

In comparing the two editors. 
Turbo BASIC provides the added con¬ 
venience of a status line that indicates 
not only the name of the file being 
edited but also the line and column 
numbers of the current cursor position. 
Witliout this information, the Quick¬ 
BASIC user often flies blind. 

Although both the Turbo BASIC 
and QuickBASIC editors are competent 
and offer a reasonably complete set of 
editing features, they lack some fea¬ 
tures of more advanced text editors. 
Neither editor can handle more than 
one file at a time, nor can it split the 
edit window so that different parts of 
the same file can be examined simulta¬ 
neously. In addition, neither supports 
macros or wild-card search patterns. 
However, bodi editors produce straight 
ASCII text, so an external text editor or 
word processor can be used when 
such advanced features are required. 
Filing. File-management options pro¬ 
vided in both environments allow load¬ 
ing and saving files, printing source- 
code listings, and popping out to the 
shell to DOS. Once in DOS, nothing 
prevents the user from starting another 
copy of the compiler, but subsequent 
copies might be crippled by shortage 
of memory. Turbo BASIC has com¬ 
mands to change directories and to get 
directory information from within the 
compiler environment; QuickBASIC 
requires shelling to DOS to perform 
these functions. 


148 


PC TECH JOURNAL 






■ I 



At PC Magazine, we know how 
tough it is for you to sort out product 
claims, specifications and perform¬ 
ance questions. It’s not easy find¬ 
ing out what’s new, better, faster, 
quieter, cheaper, more compatible 
or more expandable. 

That’s why we ’re here. And why 
your subscription to PC Magazine is 
the best way to stay on top of it all. 
Twenty-two times a year, our edi¬ 
tors and columnists keep you fully 
informed about what you can expect 
from PC products—and which are 
best for the business tasks you have 
to accomplish. And every time you 


need help solving applications prob¬ 
lems, we’re there to back you up. 

The most experienced and sought- 
after editorial staff in the industry. 
Their credentials, plus the results of 
rigorous product testing that takes 
place in PC Labs—the only indepen¬ 
dent state-of-the-art testing facUity in 
computer publishing^—are your 
assurance that PC Magazine gives 
you all the facts. 

Issue after issue is devoted to helping 
you buy PC products for your busi¬ 
ness with confidence and to making 
sure that maximum benefits are 
derived from that investment. 


Whether you need to link your micro 
to a mainframe, evaluate graphics 
packages or upgrade your printers, 
we’re here to help you do it all. 


Subscribe today. Save up to 
62% o£f the annual sin^e-copy 
price of PC Magazine during 
our special introductory offer! 
One year (22 issues) only 
$ 29 . 97 —Save 54 % 

Two years (44 issues) only 
$ 49 . 97 —Save 62% 

Savings based on annual single¬ 
copy price of $64.90. For fast 
service call 1-800-852-5200 
Toll Free. szhc 

















PC/Forms takes the hassle out 
of screen design, screen 
management, and Input data 
validation. 

> Forms are created and maintain¬ 
ed using a form editor; loaded 
and processed at runtime via 
the PC/Forms run time library. 

> This Is not a code generator. 
There Is no memory resident 
form manager. 

• Forms can be from i to 10 
screens in length. 

> Form dimensions are adjustable 
(for windowing). 


^rm Editor Features 

• Full control over foreground & background video 
attributes 

• Access to the extended (graphics) character set. 

• Line and box drawing. 

• Define and modify field attributes: 

-Field Name -Field Order -Edit Mask 

-Default —Auto Tab —Must Respond 

-Numeric Test -Right Justify -Echo Data 

—Display Only -upper Case —Warning Only 

-Test Range -Data Type -Numeric Percision 

• Test form utility. 

• Generate program shell utility. 

• Field reorder utility. 

• Temporary exit to DOS. 


jn Time Library 

• Routines are color (CCA, EGA, VGA) / 
monochrome independent. 

• Forms are processed in dynamic memory. 

» User written validation routines can be linked 
to fields. 

• String, Byte. Integer, and Real data types sup¬ 
ported. 

• Full keyboard support. 

• Run time library source code includes: 

-load_form( ) -clear fom^buffert ) •get_fieia< ) 
•releaie_form< ) -putJfiekxT ■Qet_form( ) 

-disolay_form( ) -put fomK ) -alter_field_attrib( ) 

-save context! ) -restore context! ) -get field attriW ) 


/stem Requirements for 
PC/Forms version i.i 

* IBM PC/XT/AT/PS2 or compatible w/256k usuable 
memory 

* PC-DOS or MS-DOS version 2.0 or later. 

* TURBO Pascal version 3.0 or later. 

jming soon 

* TURBO C and BASIC compatiability 

* MICROSOFT C. BASIC, and Pascal compatability. 

introductory price $79.95, 
Demo disk avaiiabie 




(800) 338-6754 
(US) 

(216) 292-0224 
(OHIO) 

P.O. BOX 22216 • BeachWOOd.OH 44122 


Golden 

S O FTWA R E 


BASIC FACE-OFF 


TABLE 2: CompilaHon Optiom 



BORLAND 

MICROSOFT 

Array allocation method 

$meta 

$meta 

Array bound checking 

Menu 

Always 

Array element ordering 

N/A 

Menu 

Code segmentation control 

$meta 

N/A 

Communications buffer size 

$meta 

/param 

Compilation output control 

Menu 

Menu 

Conditional compilation 

$meta 

N/A 

Debug mode 

Menu 

Menu 

Event trapping 

$meta 

Menu 

Include source file 

$meta 

$meta 

In-line assembly code 

$meta 

N/A 

Optimization control 

N/A 

Menu 

Overflow checking 

Menu 

Always 

Sound buffer size 

$meta 

N/A 

Stack size 

$meta 

N/A 

Smeta = Metastatement within program 
iparam = Command-line parameter at startup 
Menu - Set on menu prior to compilation 

Always = Not an option; cannot be turned off 

N/A = Not available 




Features of the compiler can be controlled by choosing menu options, inserting 
control statements into the program, or specifying command-line parameters. 


Wlien loading files, both compilers 
present an alphabetized list of all *.BAS 
hie names that are present in the cur¬ 
rent directory. Both the file template 
and the directory can be changed to 
display a different list or to limit it to a 
subset of files. In Turbo BASIC die di¬ 
rectory from which a file is loaded is 
redisplayed the next time the file- 
control screen is invoked; in Quick¬ 
BASIC the file-control screen always 
reverts to the default directory. 

Once a list of files is displayed, 
typing the first letter of a file name 
moves the selection bar to the first file 
in the list starting with that letter. In 
QuickBASIC, repeated typing of die 
first letter advances the selection bar to 
the subsequent file names beginning 
with diat letter. In Turbo BASIC, arrow 
keys are used for this purpose. 

Turbo BASIC’s file menu contains 
a SAVE option that can be dangerous: 
Turbo will, immediately and without 
verification, save the program from the 
editor under the name given when the 
program was loaded. To save a pro¬ 
gram under a new name without delet¬ 
ing the original requires a WRITE TO 
rather than a SAVE command. WRITE 
TO also warns that an existing file is 
about to be overwritten. 

The SAVE command of Quick¬ 
BASIC’s file-control menu prompts with 
the name of the last file loaded and 
permits the name to be changed, but 
gives no warning if SAVE is about to 
overwrite an existing file. 


Compiling. In general, more options 
make a compiler more flexible and 
powerful, but some, like the 
ISEGMENT directive of Turbo BASIC, 
can hardly be considered desirable 
because they force the user to perform 
functions (keep track of segment sizes, 
for example) that the compiler should 
do for itself. Most options are con¬ 
trolled either by choosing them from a 
compile-time menu or by placing di¬ 
rectives (also called ^netastatements) in 
the code. T>^ically, the former is used 
for options that apply throughout a 
program; the latter for those that might 
apply to only a portion. The options 
that control the compilation process for 
both compilers are listed in table 2. 

One interesting difference between 
the compilers is the way each requests 
the generation of event-trapping code 
to process ON KEY and ON ERROR 
statements. In Turbo BASIC, this is 
done by the $EVENT directive in the 
program. Not only can this localize 
such code (which exacts a penalty both 
in program size and execution speed) 
to the sections where it is needed, but 
more importantly it lets the program 
notify the compiler of the need for 
event trapping. In QuickBASIC, tlie 
user must specify tliis need by choos¬ 
ing from a menu; if he forgets, the pro¬ 
gram does not compile. 

Because Turbo BASIC does not 
support separate compilation, all com¬ 
ponents of a program must be present 
at compile time. It does not need a 


CIRCLE NO. 109 ON READER SERVICE CARD 

150 


PC TECH JOURNAL 





















Next to IBM, I^radise makes more 
video controllers than an)i)ody. 


Quiedy, without a lot of fanfare, Paradise has sold more than 1,000,000 PC video controllers. 


Becoming the world’s largest supplier of personal computer video cards and video controller chip sets 

f\ 


outside of IBMf In the process, we’ve built a record 


excellence that’s second to none. We’ve introduced innovations 



of reliability and technical 


like AutoSwitching'^ and 


Automatic Monitor Detection™ Pushed the resolution of IBM’s graphic standards to new heights. Supported the most popu¬ 
lar software applications. And created a product line-up that offers price and performance options designed to meet every 



PC video need. From 480 line resolution EGA Cards to Basic Video 


Cards for your monochrome systems. That’s why a lot of major computer 


manufacturers sell Paradise products with their systems. And why you should look for our name when you’re ready for 
your next video card. We’re Paradise, The Personal Computer Video Company. And we make more video controllers 



than anybody next to IBM. Call 415-871-4939 for the name of your nearest dealer. 


PARADISE 


Paradise Systems, Inc. 217 East Grand Avenue South San Francisco, CA 94080 AiUoSwitch is a ti ademark of Paradise Systems, Inc. IBM®is a registered 

trademark of International Business Machines Corporation. Copyright ©1987, Paradise Systems, Inc. 

CIRCLE 230 ON READER SERVICE CARD 


























BASIC FACE-OFF 


A Different BASIC Might 
Make All the Difference 

We’ll skip the four-color gatefold. And the extravagant claims. 

Because if you’re serious about programming, you just want the straight facts: 


Thie 

BASIC 

2.01 


Microsoft 
Quick Basic 
3.0 


Borland 
T\irbo Basic 
2.0 



Supports Hercules Graphics 

YES 

NO 

NO 

Device-Independent Graphics Syntax 

YES 

NO 

NO 

User-Defined Coordinates 

YES 

LIMITED 

LIMITED 

Matrix Graphics Coordinates 

YES 

NO 

NO 


Matrix Algebra 

YES 

NO 

NO 

Maximum Numeric Array 

UNLIMITED 

64K 

64K 

Max. Number of Array Dimensions 

255 

63 

8 

Max. Number of Elements/Dimension 

UNLIMITED 

32K 

32K 

Dynamic Redimensioning 

YES 

NO 

NO 

Matrix I/O Statements 

YES 

NO 

NO 


Maximum String Length 

64K 

32K 

32K 

Total String Space 

UNLINOTED 

64K 

64K 

Maximum Record Size 

16MB 

32K 

32K 

Max. Bytes/Binary File Read 

64K 

NA 

32K 


Modules 

YES 

NO 

NO 

Separately Compiled Libraries 

YES 

LIMITED 

NO 

Workspaces 

YES 

NO 

NO 

Immediate Mode 

YES 

NO 

NO 


Stop/Continue Execution 

YES 

NO 

NO 

Max. Source File 

UNLIMITED 

UNLIMITED 

64K 

Script Files 

YES 

NO 

NO 

Keystroke Macros 

YES 

NO 

NO 

Max. Characters/Line 

64K 

255 char. 

249 char. 

Max. Scalar Data Space 

UNLIMITED 

64K 

64K 

Mouse Support 

YES 

NO 

NO 

80386 Version 

YES 

NO 

NO 

Portability to: 

Macintosh, 
Amiga, Atari 

Translation 

required 

No other 
machines 




Three very structured, very powerful programming packages. All 
with fancy editors and fast compilers. Two of them are the same in 
other respects. And one of them. True BASIC, is quite a bit 
different. With syntax and features that will make you more productive. 


That’s why reviewers for magazines like BYTE, PC Tech Journal and 
Computerworld keep giving True BASIC their top 
marks. And why OEMs pick True BASIC after 
they’ve evaluated all the others. See why True 
BASIC can make the difference for you. 

Call 1-800-TRBASIC today. 

39 SOUTH MAIN STREET 
HANOVER, N.H. 03755 
(603) 643-3882 

CIRCLE NO. 207 ON READER SERVICE CARD 


BASIC 


True BASIC, Quick Basic and Turbo Basic are trademarks of True BASIC, Inc, Microsoft 
and Borland, respectively. Macintosh, Amiga and Atari are trademarks of Apple Computer, 
Inc., Commodore-Amiga, Inc. and Atari Corporation. Copyright 1987 True BASIC. 
Specifications are accurate as of August 1987. 


linker to resolve the references to vari¬ 
ous subprograms and can directly com¬ 
pile executable code, which can be 
placed either in memorv^ for immediate 
execution or in a .EXE file on disk for 
subsequent execution from DOS. 

QuickBASIC can also compile di¬ 
rectly to executable code either in 
memon^ or in an .EXE file, provided 
that all subprograms are either in the 
same source file or available in a user 
object librar>^ Alternatively, the output 
can be one of two kinds of object 
(.OBJ) file for subsequent linking, pos¬ 
sibly with other objects from other 
compilations, into an .EXE file. 

The ease of finding and correcting 
compile-time errors is a major advan¬ 
tage of an integrated compiler environ¬ 
ment. In this regard, QuickBASIC has 
the advantage. The QuickBASIC com¬ 
piler remembers up to 26 errors (the 
manual says 25) from each compilation. 
After an unsuccessful compilation, the 
editor positions the cursor at the first 
error detected, and a NEXT Eld^OR 
command is used to proceed to each 
one in sequence. This represents a 
substantial gain in efficiency over Tur¬ 
bo’s one-error-at-a-time approach. 

When the Turbo BASIC compiler de¬ 
tects an error, it automatically invokes 
the editor and positions the cursor at 
the perceived cause of error. After each 
error is corrected, the program must 
be recompiled until it encounters the 
next error. Many errors require consid¬ 
erable time to correct. 

The QuickBASIC compiler can be 
invoked noninteractively from the DOS 
prompt or from a batch file. Most of 
the options controlled by the compile¬ 
time menu can be set by command-line 
parameters. Error messages are dis¬ 
played on the screen, but they can be 
redirected to the printer or a disk file. 
Debugging. The debugging facilities of 
Turbo BASIC are hardly more advanced 
than those of BASICA, and seem at 
odds with the otherwise advanced fea¬ 
tures of the environment. Debugging is 
turned on either by a TRON statement 
in the source code or by choosing the 
TRACE ON option prior to compilation. 
The trace window displays the line 
numbers, labels, procedure, and func¬ 
tion names as execution passes tlirough 
them. Function keys allow toggling be¬ 
tween continuous or single-step execu¬ 
tion. Breakpoints cannot be set. 

Debugging a graphics program in 
Turbo BASIC is all but impossible. 

Trace output jumps too readily from 
the confines of the trace window and 
writes all over the graphics screen, 
causing it scroll. The result is a chaotic 


152 


PC TECH JOURNAL 




PG-1281 virtually redefines “high performance”. 
With this new Matrox color display processor 
at the heart of an IBM PC AT, 386 PC, or com¬ 
patible, a true professional workstation is born. 
Enhanced by four custom gate arrays, the 
PC-1281 is the fastest TMS34010-based 
board in the world today... and you have all the 
power of high-priced workstations at a fraction 
of the price! 

■1280 X 1024 resolution ■ Full 64-bit band¬ 
width ■ 65,000 vectors/second ■ 100 million 
bits/second BITBLT ■ Up to 1.5Mb on-board 
RAM ■ Downloadable user code for easy appli¬ 
cation development ■ Optimized drivers for 
major CAD packages ■ Compatibility with all 
current graphics standards: Windows, X Windows, 
CCA, VDI, PGA, and more... ■ Optional high¬ 
speed 3D coprocessor and EGA/VGA add-on 
modules. 

If you need the best graphics performance 
available today, you need the PG-1281. 

For more details call us - fast! 



In Canada, call (514) 685-2630. IBM and IBM AT are registered trademarks of International Business Machines Corporation. 

Windows is a trademark of Microsoft Corporation. 12B1- PCT 


CIRCLE NO. 161 ON READER SERVICE CARD 









BASIC FACE-OFF 


Canon introduces 

More easy-to-use features. 

More expandability. 

More fonts and memory for graphics. 
More paper handling capability. 



LASER BEAM PRINTER 


B Enjoy easy extended payments with the Canon Credit Card 
Ask for details at participating Canon dealers and retailers 
Available only in U.S. 

Canon U.S.A., Inc., Printer Division, One Canon Plaza, Lake Success, NY 11042. © 1987 Canon U.S.A., Inc. 


CIRCLE NO. 234 ON READER SERVICE CARD 


MORE. 


jumble of painted areas, lines, and 
trace labels that defies deciphering. 

When a runtime error occurs. 
Turbo BASIC reports the type of error 
and the value in the processor’s pro¬ 
gram counter. If the program is run¬ 
ning from memory, its source code is 
displayed in the editor and the cursor 
is placed on the statement causing the 
error. However, if an error is encoun¬ 
tered in a stand-alone .EXE file, the 
source file is not available, and the edi¬ 
tor is not in memory^ In that case, the 
user can load the source file into the 
Turbo editor, turn on the runtime 
error option, and enter the program 
counter value from the error message. 
After the next compilation the cursor is 
placed at the point in the source code 
corresponding to the counter. 

Compared to Turbo BASIC, the 
debugging provisions of QuickBASIC 
are excellent. When a program is exe¬ 
cuted with the debug option, a vari¬ 
able-sized window displays the source 
code with a highlight on the line about 
to be executed. The bar can then be 
stepped through the source code singly 
or continuously to provide a clear idea 
of the path taken during execution. The 
tracing either can be restricted to the 
main line of the program or can follow 
all paths through subroutines and func¬ 


tions. The window may obscure part of 
any graphics screen, but is always kept 
separate so the trace can be followed. 

Because the stepping procedure is 
time consuming, QuickBASIC allows up 
to eight breakpoints in the source code 
to avoid having to step through error- 
free code. Execution can proceed at 
high speed until a breakpoint is en¬ 
countered and the stepping procedure 
can be resumed. 

The value of one variable can be 
watched while stepping through execu¬ 
tion without including PRINT state¬ 
ments in the source code. A new watch 
variable can be named at a breakpoint, 
and it is displayed immediately when 
named, so although only one variable 
can be watched while executing, any 
number can be examined in turn while 
execution is suspended. 

On an EGA system, QuickBASIC 
uses the 43-line mode to excellent ad¬ 
vantage while debugging. For programs 
that operate in text mode, the top 24 
lines can be set to display a full screen 
of output, with the remaining 19 lines 
used for scrolling the source code 
while debugging. 

Linking. QuickBASIC allows separate 
compilation, an advantage for serious 
development work. The price for this 
flexibility is an extra link step to collect 


the separately compiled object modules 
into one executable file. The link pro¬ 
cess can be performed in one of two 
ways. The first collects into the execut¬ 
able file only the separately compiled 
modules, not any of the standard sup¬ 
port routines from the library. The re¬ 
sulting .EXE file can be executed only 
in the presence of a runtime library 
called BRUN.EXE or BRUN8087.EXE 
with coprocessor support. The second 
method incorporates the necessary li- 
brar)^ routines into the program’s .EXE 
file so that it can be executed without 
any runtime support. The type of .EXE 
file depends on the type of object files 
created at the compilation step. 

Each type of .EXE file has its own 
advantages. The BRUN-module variety 
is significantly smaller and especially 
useful when storing several Quick¬ 
BASIC executables on one disk. Instead 
of being replicated in every program, 
the support library^ is present only 
once. On the other hand, regardless of 
how many of its routines are actually 
needed, the whole support library is 
loaded when die program is executed, 
extending the load time and using up 
more memory^ Also, if the BRUN file is 
not found in any directory on the path, 
the user must enter its location. Inex¬ 
perienced end users should not be 
expected to keep track of files seem¬ 
ingly unrelated to their application. 

The linker supplied with Quick¬ 
BASIC is the one that comes with all 
Microsoft languages. It is functionally 
the same, although more recent than 
the LINK program supplied with all 
PC-DOS versions through 3.2. Linking 
can seem like a fairly complex process 
for the inexperienced, especially be¬ 
cause it requires leaving the friendly 
confines of the QuickBASIC environ¬ 
ment. Poor documentation, consisting 
of a scant one page of text without ex¬ 
amples, does not help the situation. 
Only the command-line method of in¬ 
voking the linker is given, and that 
mediod is easily prone to user errors. 
For example, placing an input file 
name where the linker expects an out¬ 
put file will overwrite the file. The 
manual does not mention that the 
linker can either prompt for files one 
by one or read a list of file names 
from a response file. More complete 
documentation on LINK is available in 
the DOS manual, except for DOS 3.3 
where it was moved to the Technical 
Reference, which costs almost as much 
as QuickBASIC. Microsoft could vastly 
improve this phase of the development 
process by incorporating the link step 
into the compiler’s environment. 


154 


PC TECH JOURNAL 









Canon introduces 

Less cost to buy and use. 

Less maintenance. 

Less hassle replacing toner cartridges. 

Best of all, less wait—Canon quality product available now. 



LASER BEAM PRINTER 

Printouts that stand out. 


For more information, call 1-800-453-3307. In Utah, 1-800-662-2500. 


CIRCLE NO. 234 ON READER SERVICE CARD 


LESS. 


COMPARING PERFORMANCE 

Performance of the compilers was mea¬ 
sured with a set of eight programs, 
four of which (SIEVE, MULDIV, HAT, 
and FILEIO) were used previously in a 
review of BASIC interpreters (“Six New 
Shapes of BASIC,” Ted Mirecki, June 
1986, p. 52). In order to provide better 
timing resolution at the higher speeds 
that can be achieved by compiled pro¬ 
grams, the SIEVE and MULDIV pro¬ 
grams were modified to increase the 
number of iterations. 

Two new programs were devised 
to test the display speed in both text 
and graphics, modes. SCRNTEST.BAS 
(see listing 1) uses the PRINT statement 
to fill the screen with text. The text is a 
string, so no time is spent converting 
numbers to characters. Correcting for 
the time taken to increment and test 
loop indexes did not materially affect 
the results. DRAWTESTBAS (see listing 
2) tests the speed of graphics using the 
DRAW statement. The design drawn is 
adapted from an example that appears 
in the IBM BASICA manual. Here, the 
overhead of the loops is subtracted 
from the drawing time. This test is a 
better indication of tlie graphics speed 
than the HAT program, because HAT 
spends more time calculating trigono¬ 
metric functions than it does in the ac¬ 
tual drawing process. 

The SAVAGE.BAS benchmark (list¬ 
ing 3) tests execution speed and nu¬ 
meric accuracy of certain transcenden¬ 
tal functions. It was adapted from the 
program published in BYTE (vol. 10, 
no, 11, 1986, p. 67). The last program, 
BIGTEST, was concocted specifically for 
testing compilation speed on large pro¬ 
grams; it is described below. 

All tests were run on an 8-MHz AT 
with 640KB of memory, an 80287 math 
coprocessor, and an IBM 30MB hard 
disk. Compiler options were set to pro¬ 
duce maximum execution speed: de¬ 
bugging, event trapping, and error 
checking (array bounds, overflow) 
turned off and coprocessor emulation 
not included. The programs would not 
run on a system without a coprocessor. 

The results are listed in table 3. In 
most of the compute-intensive tests 
(MULDIV, SIEVE, HAT), QuickBASIC is 
ahead by a small margin, but not 
enough to be noticeable without mea¬ 
surement. Turbo BASIC is 38-percent 
faster in the SAVAGE test, which bor¬ 
ders on the significant. Turbo BASIC 
also has a slight but inconsequential 
advantage in graphics. The significant 
difference shows up in text display (the 
SCRNTEST program), where Turbo 
BASIC is faster bv a factor of more than 


10. Otherwise, no clear winner really 
emerges on execution speed. 

Turbo BASIC produces .EXE files 
that are significantly smaller (by 20 to 
35 percent) than the stand-alone files 
of QuickBASIC. However, QuickBASIC 
can produce files about 90-percent 
smaller for execution with a runtime 
system. Although an application consist¬ 
ing of one program can be smaller in 
Turbo BASIC than in QuickBASIC, the 
situation can be reversed when multi¬ 
ple programs are required. For exam¬ 
ple, the total size of the first seven 
Turbo programs listed in table 3 is 
168KB, while the smaller QuickBASIC 
versions plus the runtime library 
(BRUN8087.EXE, 76KB) total 101KB. 

These small benchmark files com¬ 
piled so quickly that accurate mea¬ 
surements of compilation speed were 
impossible. Instead, a large program, 
BIGTEST.BAS, was constructed solely 
for this purpose: 

A = 0 
A = A -I 1 

(above line repeated 2,000 times) 

PRINT A 

The times for compiling this program 
to memory, to a .EXE file on disk, and 
(for Quicl^ASIC only) to a .OBJ file 
are listed in table 3. Turbo BASIC is 


clearly superior here, by a factor of 
two. For both compilers, the difference 
between compiling to memor^^ and to a 
file are not significant. QuickBASIC 
takes slightly longer to produce a .OBJ 
file than a .EXE file, because object 
code is written to disk piecemeal 
throughout the compilation process, 
while the .EXE file is constructed in 
memory and written out all at once. 

QuickBASIC’s inability to compile 
a large file properly was one of the 
biggest problems encountered during 
testing. To test the limits of the compil¬ 
ers with large programs, the BIGTEST 
program was expanded by replicating 
the line A = A + 1 several thousand 
times. With debugging options turned 
off, QuickBASIC generated the error 
message “expression too complex” for 
line 426, even though that line was 
exactly the same as the preceding 424 
lines, which compiled correctly. With 
the debug option, QuickBASIC could 
compile a program of about 2,600 
lines; larger files produced the message 
“critical error: compiler out of mem¬ 
ory.” Although nonsense, the program 
is syntactically correct and should com¬ 
pile without difficulty. Turbo BASIC 
handled up to 4,335 lines before gen¬ 
erating a full 64KB segment of code, 
and it could generate even larger pro- 


SEPTEMBER 1987 


155 












BASIC FACE-OFF 


TABLE 3: Compiler PcrfoniuDice 



QuickBASIC’s slightly faster execution is barely noticeable in practice, while 
Turbo BASIC’s compilation speed is definitely noticeable on longer programs. 



SQL Compatible Query System adaptable to any 
operating environment. 


CQL Query System. A subset of the Structured 
English Query Language (SEQUEL, or SQL) 
developed by IBM. Linked files, stored views, 
and nested queries result in a complete query 
capability. File system interaction isolated in an 
interface module. Extensive documentation 
guides user development of interfaces to other 
record oriented file handlers. 

Portable Application Support System 

Portable Windowing System. Hardware 
independent windowing system with borders, 
attributes, horizontal and vertical scrolling. 
User can construct interface file for any 
hardware. Interfaces provided for PC/XT/AT 
(screen memory interface and BIOS only 
interface). MS-DOS generic (using ANSI.SYS), 
Xenix (both with and without using the curses 
interface), and C-library (no attributes). 

Screen I/O. Report, and Form Generation 
Systems. Field level interface between 
application programs, the Query System, and 
the file system. Complete input/output 
formatting and control, automatic scrolling on 
screens and automatic pagination on forms, 
process intervention points. Seven field types: 
8-bit unsigned binary. 16 bit signed binary. 16 
bit unsigned binary. 32 bit signed binary, 
monetary (based on 32 bit binary), string, and 
date. 

Including Source Code 

$395.00 

File System interfaces include 
C-tree and BTRIEVE. 

HARDWARE AND FILE SYSTEM 
INDEPENDENT 

Machine 

Independent 

Software 

1415N0RTHGATE SQ. #21B 
RESTON, VA 22090 

VISA/Master Charge accepted 

(703) 435-0413 


*C-tree is a trademark of FairCom 

IBM. SEQUEL. PC. XT. AT are trademarks of IBM Corp, 
MS-DOS and Xenix are trademarks of Microsoft Corp. 

CQL and the CQL Logo are trademarks of Kurtzberg Coiriputer 
Systems. 


CIRCLE NO. 148 ON READER SERVICE CARD 


grams if $SEGMENT statements were 
inserted in the source code. 

Microsoft technical support had no 
answer to this problem, at first ascrib¬ 
ing it to the 64KB limitation for code 
segments. The solution suggested was 
to replace the straight-line code se¬ 
quence with a loop, but that did not 
address the reason for the failure. 

The MULDIV test in QuickBASIC 
generated no error, while Turbo’s 
error was an insignificant 10'^^. In the 
SAVAGE test, on die other hand, both 
Turbo BASIC and QuickBASIC produce 
the correct result of 25,000, even with 
single-precision numbers. 

The SAVAGE program is especially 
good at showing the math copro¬ 
cessor’s effects on speed and accuracy. 
Running the test in software emulation 
mode (using IEEE format numbers) 
produced no error but took more than 


8 minutes, compared with 36 seconds 
with the coprocessor. Using numbers 
in MBF format, QuickBASIC version 2.0 
took 106 seconds and generated an 
error of 80 percent; interpreted BASICA 
ran 6y2 minutes and managed to pro¬ 
duce the identical error. 

Turbo BASIC does have the annoy¬ 
ance of printing more digits than it has 
bits in representing the number. For 
example, the command 

PI = 3.14159 
Print PI 

gives die answer of 3.141590118408203. 
Using double-precision variables yields 
the correct answer. 

SUPPORT—OR LACK OF IT 

In the course of testing for this review, 

I placed calls to both Borland and 
Microsoft to inquire about various 


156 


PC TECH JOURNAL 
















Ho Zoom Required 1 



It’s all available, as you need it - 
INSTANTLY! 

Over 5 times more information is instantly 
available in the 2048 x 2048 frame buffer than in 
any other standard high-res graphics board; up to 
20 times more than your standard EGA. Just pan 
freely in real time over the entire drawing area. 

Load your CAD drawing faster too. There’s no 
waiting while extensive display lists are created 
since display lists aren’t necessary. 

No one else can save you as much time, and at 
the same time give you as much information. 

It looks great, too. 

Your drawing is displayed at the highest possible 
resolution 1280 x 1024 on any 19” analog 
non-interiaced monitor with 16 bright vibrant 
colors to choose from. 


Special CAD Features. 

Enhanced AutoCAD^ and VersaCAD^ drivers are 
included with such features as smooth pan and 
scroll, instant hardware zoom, and pan freeze. A 
Microsoft Windows driver is also Incorporated for 
your business needs. 

All of these advantages translate to Increased 
productivity for you. So if you’re interested in 
increasing your productivity, select the price/per¬ 
formance leader in graphics boards for CAD. 

To find out more, Call (216) 464-6600. 

ODP 

^computer systems inc. 

23632 Mercantile Road 
Beachwood, Ohio 44122 


CIRCLE NO. 193 ON READER SERVICE CARD 


’AutoCAD is a registered trademark of Autodesk Inc. 
2\/ersaCAD is a registered trademark of VersaCAD Corporation. 








































































































Architecture can make or break a computer system. 


If the sheer weight of UNIX brings the 
PC to its knees, all applications running 
under it will suffer. Conceived more than a 
decade and a half ago, UNIX is today the 
result of modifications, additions and 
patches by hundreds of programmers. It 
needs the resources of at least an AT. 

Compare this to the QNX 0/S, 
designed by a dedicated team with a 
common purpose and complete under¬ 
standing of both the software and the 
environment in which it must run. Having 
elegantly solved the problem of inter-task 
communications, QNX is more than capa¬ 
ble of both networking and real time per¬ 
formance-the superior choice for process 
control and office automation systems. 

Quick and efficient on a PC, QNX 
soars on an AT. QNX occupies 80K (stand¬ 


alone version) to 114K (network version) 
of system memory and allows 40 tasks 
(programs) and up to 16 terminals per 
computer. 

QNX modular architecture facilitates 
easy adaptation and extensions by soft¬ 
ware developers for specific requirements. 
In addition, PC-DOS runs as a single¬ 
tasking guest operating system under QNX. 
With the DOS Development System, 

DOS EXE files can be developed in shorter 
time than under DOS itself. 

Communication among all tasks is via 
“message-passing.” Tasks anywhere on 
a network of up to 255 computers com¬ 
municate rapidly and transparently with 
each other. 

With the true distributed processing 
and resource sharing of QNX, all the 


resources on the network are available to 
any user. Application programs and data 
can be distributed over the network with¬ 
out having to go through a central file 
server. 

Network growth is fast and simple. 

If your disk becomes a bottleneck, add a 
disk anywhere on the network. If your 
needs outgrow your present configuration, 
just add terminals and/or computers as 
required, without having to re-write pro¬ 
grams and without system degradation. 

If you would like to know the secret 
of the QNX architecture, please give us 
a call. We invite End Users, VAR’s, OEM’s 
and Software Developers to discover a 
whole new world of computing capabilities. 

Over 30,000 systems have been 
installed worldwide since 1982. 



THE ONLY MULTI-USER, MULTI-TASKING, NETWORKING, REAL-TIME OPERATING SYSTEM FOR THE IBM PC, AT, 
--1 THE HP VECTRA, AND COMPATIBLES. 


Multi-User 10 (16) serial terminals per PC (AT). C Compiler 
Multi-Tasking 40 (64) tasks per PC (AT). Flexibility 

Networking 2.5 Megabit token ring. 

255 PC’s and/or AT’s per network. 

10,000 tasks per network. 

Thousands of users per network. 

Real Time 2,800 task switches/sec (AT). PC-DOS 

Message Fast intertask communication Cost 

Passing between tasks on any machine. 


Standard Kernighan and Ritchie. 

Single PC, networked PC’s, 
single PC with terminals, 
networked PC’s with terminals. 
No central servers. Full sharing 
of disks, devices and CPU’s. 

PC-DOS runs as a QNX task. 

From US $450. 

Runtime pricing available. 


For further information ora free demonstration 
diskette, please telephone (613) 591-0931. 


Quantum Software Systems Ltd. • Kanata South Business Park*175Terrence Matthews Crescent* Kanata, Ontario, Canada • K2M1W8 

UNDdsaregiatwodtradomarkofAT&TBellLabs. IBM PC. AT, XT and PC DOS are trademarks of IBM Corp. HP and Voctra are registered trademafka of Hewlett-Packard Company. CIRCLE NO. 181 ON READER SERVICE CARD 













BASIC FACE-OFF 


problems and to determine the level of 
support provided by each vendor. Nei¬ 
ther vendor offers a toll-free number. 
Microsoft’s support number is buried 
in the README.DOC file on die com¬ 
piler disk, and Borland’s had to be ob¬ 
tained from directory assistance. 

When Borland’s main switchboard 
finally answered after five tries, the 
operator suggested calling back in 30 
minutes because all support personnel 
were busy. Borland would not return 
the call. Finally connected to the tech¬ 
nical-support line, I waited six minutes 
before being assisted by knowledgeable 
and frank people who solved most 
problems on the spot, or at least sug¬ 
gested work-arounds. 

Microsoft’s technical-support line is 
answered by a recorded voice that in¬ 
structs the caller to branch through 
several aural menus by using the tele¬ 
phone’s touch-tone buttons. When I fi¬ 
nally reached the correct extension for 
QuickBASIC support, another recording 
informed me that the company was not 
yet open for business and then discon¬ 
nected. When I called back, I had to 
work through the touch-tone menus 
again and then wait six minutes for a 
human to answer. The level of support 
was somewhat less satisfying than Bor¬ 
land’s, and all too often the response 
was “I’ll find out and get back to you.” 

To test the level of Microsoft’s sup¬ 
port, its support personnel were asked 
the hypothetical question: why is it not 
possible to declare more than 15 di¬ 
mensions of the form A%( 1,1,1 . . . )? 
The answer should be that when the 
default OPTION BASE is 0, this declara¬ 
tion defines 2 elements on each di¬ 
mension. Fifteen dimensions with 2 
elements each equals 32,768 elements; 
with 2 bytes per integer, that is 64KB, 
the limit on array size. The support 
person did not know the answer, but 
promised to check into it and call back. 
A month has passed with no call. 

Borland support was somewhat 
more satisfying than Microsoft’s. Two 
problems were directed to Borland 
technical support regarding Turbo 
BASIC. In the initial copy of the com¬ 
piler, a DRAW command string with 
two or more VARPTR$ functions did 
not operate properly. No compile-time 
or runtime error was generated, but 
the picture just did not get drawn cor¬ 
rectly. Borland was aware of the prob¬ 
lem and already had a corrected ver¬ 
sion available. This new version, 1.0c 
with files dated 4-20-87, is available to 
users upon return of the original com¬ 
piler disk (a return authorization num¬ 
ber must be obtained from Borland). 


Borland suggested a workable if not 
entirely satisfactory work-around. 

The other problem involved ap¬ 
pending data to text files. Turbo BASIC 
programs can append successfully to 
files created by other Turbo programs, 
but not to files created by Microsoft 
languages. When appending to the lat¬ 
ter, Turbo programs do not remove the 
existing end-of-file marker (Ctrl-Z) be¬ 
fore writing the new data. The resulting 
file could not be successfully read in 
its entirety because it always stopped 
when the Ctrl-Z was encountered at the 
end of the original data. Borland 
acknowledges the problem and prom¬ 
ises a fix in tlie next release, but in the 
meantime, this could be a compatibility 
problem. Incidentally, QuickBASIC and 
BASICA have no problems appending 
to files created by Turbo BASIC. 

DOCUMENTATION DIFFERENCES 

Both compilers come with thick paper¬ 
back manuals with glossy covers and 
bindings that rebel against staying open 
to the desired page without an anvil to 
hold it there. Purchasers of either sys¬ 
tem can count on an hour or so going 
through the README.DOC file and cor¬ 
recting the accompanying documenta¬ 
tion. More errata were listed in the 
QuickBASIC document than in Turbo 


BASIC’s; perhaps this is because Micro¬ 
soft’s product has been around longer. 

The 465-page Turbo BASIC manual 
has much to recommend it, especially 
to nonprogrammers. It includes a short 
DOS primer as well as discourses on 
variable types, file types, and data stor¬ 
age techniques. Borland does not take 
the user’s knowledge for granted, but 
some problems exist, including incor¬ 
rect or fuzzy directions for the use of 
VARPTR$. The overall type size, espe¬ 
cially in the examples, is too small. 

A significant plus for Borland is 
that it provides sample programs on 
diskette that illustrate some interesting 
programming techniques, including a 
fine example of recursive programming 
applied to a sorting algorithm. The in¬ 
famous Tower of Hanoi problem is 
neatly solved in a fascinating sample 
program that graphically illustrates the 
solution. A minispreadsheet called 
MicroCalc illustrates modular program¬ 
ming. It is not Lotus 1-2-3, but it is in¬ 
teresting to study. 

The QuickBASIC documentation 
consists of a 595-page manual for ver¬ 
sion 2.0 to which a 70-page version 3.0 
update has been prefixed, causing 
some discontinuities. Commands are 
contained in two alphabetic listings, 
each with its own index. Combine this 


^1 in Desktop 
Conversion Systems! 
SCAN - DISK - TAPE 



Since 1982, Flagstaff Engineering has supplied thousands of conversion systems 
to customers in more than 50 countries worldwide. We manufacture and develop 
a vast array of specialized conversion products for the PC/XT/AT and the new PS/2. 
With our “SCANNING CONNECTION” systems you can scan images and text for use 
with your desktop publishing system and convert images to text using our OCR 
software. Our “DISKETTE CONNECTION” systems can read and write most SVz”. 
5V4 and 8 ” diskettes. We have developed over 100 programs to transfer word 
processing, typesetting and data files from thousands of computer systems. Our 
“TAPE CONNECTION” systems can read and write 1/2” 9-Track 800/1600/6250 
BPl magnetic tapes from mainframe computer systems. Our new FIFO tape 
controller card can transfer tape data at rates up to 400 Kb/sec. For information 
on our products or prices please call us today at (6023 779-3341. 


f FLAGSTAf=F 
_€NGIN6€RING 


1120 Kaibab Lane 
Flagstaff. AZ 86001 


SEPTEMBER 1987 


CIRCLE NO. 133 ON READER SERVICE CARD 


159 



BASIC FACE-OFF 



split organization with the 12 pages of 
README file and the result is far from 
ideal. For example, all references to 
files BCOM20.LIB, BRUN20.LIB, and 
BRUN20.EXE are to be changed to 
Bxxx30.xxx or Bxxx3087.xxx depending 
on whether the math coprocessor ver¬ 
sion of the compiler is installed. 

The documentation has several 
inconsistent statements; the length of 
subprogram names is variously given as 
31 and 40 characters; the reader is also 
told that programs compiled with the 
coprocessor version will run on ma¬ 
chines without math coprocessors and 
then, on the next page, told that they 
will run only on machines with copro¬ 
cessors. Which is correct? Neither and 
both, depending on options selected. 

The QuickBASIC manual presumes 
that the user is an experienced pro¬ 
grammer familiar with DOS and the 
process of compilation. This is espe¬ 
cially apparent in the instructions for 
the linker, which would benefit greatly 
from examples. Throughout, it does lit¬ 
tle hand-holding. On the positive side, 
the graphic design is excellent. 

FACE-OFF RESULTS 

The face-off held within these pages 
did not produce a clear winner. Both 
of these BASIC offerings are excellent 


values and represent a quantum im¬ 
provement over BASICA in both speed 
and ease of programming. 

Turbo BASIC continues the Turbo 
Pascal tradition witli ease of installation, 
lightning-quick compilation speed, and 
overall nimbleness of operation. It is 
especially recommended for program¬ 
mers graduating from interpreters. 

Turbo BASIC’s context-sensitive 
help, well-executed manual, sample 
programs, and technical support are a 
significant cut above the competition. 
For serious development work, Bor¬ 
land’s product is unsurpassed for work¬ 
ing fast and small—in other words, for 
the ven^ kind of development that the 
BASIC language is best suited. Its re¬ 
cursive abilities can produce compact 
and elegant code. 

However, like its fellow Borland 
language. Turbo Pascal, ultimately it is 
unsuited for large-scale work, where it 
is hampered by a primitive debugger, 
the need for manual segmentation con¬ 
trol, and especially the lack of support 
for separate compilation. Over the long 
term, using INCLUDE statements as the 
only means of modularization becomes 
severely limiting. 

Microsoft’s QuickBASIC is a full¬ 
blown, powerful compiler package that 
is more suited for the experienced 


programmer developing large commer¬ 
cial applications. (Neither Borland nor 
Microsoft charges royalty fees for com¬ 
mercially distributing products pro¬ 
duced with these compilers.) Although 
its data space is smaller than Turbo 
BASIC’s, it offers an excellent debug¬ 
ger, modularization at the object-code 
level, and overcomes many of the tradi¬ 
tional limitations of BASIC as a serious 
language. QuickBASIC’s documentation 
and overall complexity might be some¬ 
what intimidating, however. This com¬ 
plexity makes it unwieldy in operation 
and defies the underlying concept of 
the BASIC language. Such is the price 
of power. Users of previous versions of 
QuickBASIC should convert to version 
3.0 without delay. 

Although Borland and Microsoft 
are competing head-to-head in the area 
of BASIC compilers, their respective 
products are ideally suited to different 
segments of that market. It is the in¬ 
tended scope of applications that must 
determine the selection. 1'limiiin 


Justin Crom is a chemical engineei- working 
as manager of economic evaluation for a 
major oil company. He has almost 20 yeats 
of experience with computers, much of it in 
developing engineering and decision sup¬ 
port applicatiotis in high-level languages. 


THE First COMPLETE 
SA SOFTWARE FOR 

UNDER $1000. Discover the power of 

computer-aided Structured Analysis...Create specifications 
more efficiently, more accurately,.. .With Teamwork/PCSA™ 
a complete, automated SA tool for your PC for only $995. 

No other system includes these features for under $1,000: 

• Full support of Yourdon/DeMarco SA techniques 

• Easy-to-use mouse driven interface with pop-up menus 

• Includes integrated project data dictionary 

• Includes consistency checking and diagram balancing 

• Now also includes P-Specs, Postscript" output, and 
new, easy tutorial 

Teamwork/PCSA runs on most IBM—compatible PCs. 

It’s used by leading developers at Boeing, AT&T, GE, HP, 
and Bank of America. And it’s the only P(Z-based software 
that offers you a growth path to the Teamwork family of 
CASE tools for real-time modeling, system design and life- 
cycle management. 


CADRE 


Cadre Technologies Inc. 
222 Richmond St. 
Providence, Rl 02903 


IBM is a registered trademark of International Business 
Machines. Postscript is a registered trademark of Adobe 

Systems, Inc. cjrclE NO. 124 ON READER SERVICE CARD 


FREE DeMarco Book! We ll give you 

two reasons to order Teamwork/PCSA today. ONE: 
you get a 30-day money-back guarantee, so there’s 
absolutely no risk. TWO: Order now and we ll send you 
Structured Analysis and System Specification 
by Tom DeMarco. It’s the "Bible” of structured analysis 
and normally sells for over $40. And it’s yours free. For 
details or to place your order, call or write today. 

CALL (401) 351-CASE. 

North American prices only. Volume discounts available. PCT 2 


160 


PC TECH JOURNAL 




















A Subsidiary of FUJITSU GENERAL LtMITEO 


OPTIONAL 
SWIVEL BASE 


What does this mean to you? 

Easier sales. Faster sales. More pro¬ 
fitable sales. 

And best of all, the Teknika 
MJ-503 Multi-Scan Color Display 
Monitor is compatible with IBM PC/ 
XT/AT, their clones and virtually 
any other computer made today. 

Its wide frequency range of 15kHz 
to 34kHz automatically scans for 
CGA/EGA/PGA. Other features in¬ 
clude 926 X 580 pixels, 16/W/ALL , 


color switch, TTL/ANALOG input 
signals, text SW (green), and the 
interface cable is included. 

The barriers are down...and your 
profits will be up. Don’t delay, contact 
your Teknika representative today. 

EMGliiswe 2-¥egr limlfed Warrafify 
The longest and strongest warranty 
in the industry. Covers parts, CRT 
and labor. 


Non-Glare 13" Screen 

Less eye strain, easier to read. 

Easily Accessible Controls 

Controls are up-front to allow for easy 
adjustment of horizontal position, 
brightness and contrast. 


iitll 


>«ni 










TEKNIKA ELECTRONICS CORPORATION 353 Route 46 West, Fairfield, New Jersey 07006 


201-575-0380 


1 -800-835-6452 Display Monitor Division 


CIRCLE NO. 138 ON READER SERVICE CARD 


























Introducing the 

DIGIBOARD COM/Xi Series front-end processor. 
Intelligent multi-channel communications boards 
400% faster than the industry standard. 

Like our popular COM/X Series, they provide 
users of PC/XT/AT-compatible computers with four 
or eight individually addressable serial ports. But 
with the new COM/Xi series we’ve added: 

• an 80188 co-processor operating at 10 MHz 

• 256K of dual-ported RAM + 16KofROM,all 
accessible to user/ programmers for appUcation 
and security software development 

• a modular design that allows us to custom- 
tailor I/O to individual customer requirements. 
On-board intelhgence means more speed for 

multi-user operating systems and multi-channel 
data collection and dissemination. 

And makes the new DIGIBOARD COM/Xi 
Series a more intelligent choice for you. 


Plugging you into Tomorrow. 


Call 1-800-344-4273. In Minnesota, (612) 922-8055 


CIRCLE NO. 110 ON READER SERVICE CARD 



162 


PC TECH JOURNAL 







If you’re having trouble 
chawing conclusions on 
today’s systems issues, 




mui'"' * * 




/ 


la^i 







Diawcsi die expe 


The PC Tech Journal Systems Forum In 
San Diego: a meeting of the minds you 
won’t want to miss. Recent changes in 
the computer industry raise pressing ques¬ 
tions for all of us. But at PC TECH JOURNAL, 
we’re not making a big issue out of it. We’re 
making it an event. Join us in September, and 
get confusion over new standards out of 
your system. 

Give the vendors a piece of your mind. 

The Systems Forum isn’t just another shut- 
up-and-listen lecture series. Our unique 
format brings vendors and users together for 
fast-paced panel discussions and audience 
question-and-answer sessions. We’ll give 
you the opportunity to speak out on issues 
that concern you, and tell top systems gurus 
your opinion of industry changes. By 
maximizing the dialogue among different 
groups, we’ll wipe out boundaries that tradi¬ 
tionally separate vendor, reseller, and end 
user companies. And we’ll put our heads 
together to tackle tough systems questions. 

The conference that pays off. Some 
lecture series leave you with little more than 
a few tacky souvenirs. But the PC Tech 
Systems Forum gives you the answers you 
need to make sound, money-saving decisions 
on today’s complex issues. You’ll come away 
with solutions that work. Solutions that will 
make you a valuable asset to your company 
for years to come. 

Learn from experience. A brief glance at 
our guest list should convince you that this 
is one conference you must attend. Our 
panelists include movers-and-shakers from 
both the vendor and user communities, with 
years of technical and business experience. 
You’ll hear from people who know the whys 
and wherefores of recent industry develop¬ 
ments. You’ll also be able to draw on the 
knowledge of the audience—your fellow 
systems professionals—who have years of 
experience in systems integration and 
implementation. 

The 10 hottest systems issues, brought 
to you live. Panelists will go beyond the 
theoretical to dig into the realities of systems 
implementation. Discussions will cover 
crucial issues like the short- and long-term 
ramifications of the IBM PS/2, the resurgence 
of the Macintosh alternative standard, the 
future of OS/2, the linking of unlike 


machines, and optimizing LAN performance, 
to name a few. Other issues to be examined 
are building expert systems, alternatives to 
DOS, applications development, and turning 
data management software into production 
applications. 

Our active, participation-oriented format 
ensures that you’ll always get a second opin¬ 
ion. And you’ll leave well-versed on practical 
systems solutions, as well as strategies for 
their implementation in your company. 

A discussion among piers. At PC TECH 
JOURNAL, we believe that finding solutions 
should be a rejuvenating experience. Upon 
arrival, you’ll find we’ve chosen top-notch 
facilities and a spectacular ocean-side setting. 
We’ve also limited attendance to 500, so 
individual seminars can facilitate more per¬ 
sonal interaction. And the beautiful San Diego 
Harbor Island provides plenty of diversions for 
time-outs from the Systems Forum’s more 
intellectual pursuits. 

Prices fall before September. Register 
before July 31, and receive a $100 discount 
on the registration fee of $495. Ask for our 
special PC TECH JOURNAL room rates at 
the Sheraton Harbor Island, and plan for a 
lot of food, fun and fireworks (intellectual, 
of course). 

Be there and square off on crucial 
systems issues. Put a pencil to a registration 
form today, and take an important step toward 
drawing your own conclusions on today’s 
systems issues. 

PC Tech Journal 
Systems Forum Agenda. 

1. PS/2: Rebirth of the IBM Standard. 

This timely discussion will tackle systems 
integretation issues surrounding IBM’s PS/2, 
including the new microchannel bus, 3 V 2 " 
diskette, graphics standard and communica¬ 
tions capabilities. 

2. The Rise of The Macintosh Standard. 

The resurgence of an alternative standard: Learn 
about the Mac’s 32-bit architecture, open de¬ 
sign, windowing, and inherent friendliness—as 
well as its future in the corporate world. 

3. Implications of OS/2: Operating 
System of the 1990s? The pros and cons 
of the new IBM operating system will be re¬ 
viewed, including insight on its speed, multi¬ 
tasking abilities and compatibility box. 


4. Waiting for OS/2: Alternative 
Operating Systems. A new generation of 
multitasking/ multiuser operating systems is 
arriving for the PC. OS/2 is announced but 
undelivered. It’s appropriate to examine alterna¬ 
tives such as UNDC, DESQVIEW, PC-MOS and 
others. Learn more about standards, options 
and implications at this panel discussion. 

5. Applications Development. Beyond 3rd 
Generation towards AI: Learn how different the 
new object-oriented/AI languages are from 
COBOL, FORTRAN, C, BASIC, etc., and how 
user companies are building Al/expert systems. 

6. Developing Applications in a 
Multiuser/Multivendor Environment: 
When more than one type and size of machine 
are in the picture, optimizing performance is 
tricky. Put the pieces together at this timely 
discussion. 

7. Optimizing LAN Performance. Careful 
LAN selection and implementation is the name 
of the game in networking. This highly rele¬ 
vant session will help you fine-tune your LAN 
smarts. 

8. Linking Unlike Machines. IBM has 

some planned solutions, but what are users 
and vendors doing right now about connecting 
diverse systems? Find out by attending. 

9. Database Management on LANs. 
Although a major theoretical benefit of local 
area networks is the use of shared databases, 

• lots of real world obstacles stand in the way. 
Find what you need to know about the prob¬ 
lems and the solutions to LAN-based data 
management. 

10. The Desktop-based DBMS as a Pro¬ 
duction Database. Most PC-based data man¬ 
agement software is used primarily as a deci¬ 
sion-support tool. But the best of the database 
management products offer multiuser, trans¬ 
action processing capabilities. Learn which 
products deliver in this discussion. 

PC Tech Journal Systems Forum, 

Sept. 23-25,write or caU 1-301-740-8300. 

TEgH 

JOURNAL 

I SYSTEMS FORUM 



' , - -— 


^at^e]^ 


r>/^'At^-7 ^7 


j f 


lmp(!M(<e‘<S oF 


Q^jgMS Hesfe^ , ^ 
Qha'^lei OfPfx 

— Tr~~7~:^‘ZZZ7^.^ mirreif&H-' 


jacK_i^mj^fi^:(f '—LLJz^ 

^[m 

MffCt. 

—TT - r^s.u ic;fr 




ph-ilipp-e ^^‘1, )§®'''^‘"7 

l_ac(H ^»-k>‘<el(,M^h''jL \ 

'Tgfvf Kh iU’et^he 1, 


I PWI f —-- 

nfcjfc^rf' 

^Pr^xiuJ-rc^y Pok JSiH Lx-cV PulO'xe-h 



































he new C++ programming lan¬ 
guage is touted as being a better 
C. It was designed to make life 
easier for the programmer by adding a 
rigid programming discipline as well as 
other features to the original C lan¬ 
guage. How well it delivers on this de¬ 
sign is open to question. The potential 
utility of C++ is considered here, as are 
two compilers that implement the new 
language: Advantage C++ from Lifeboat 
Associates and Guidelines C++ from 
Guidelines Software. 

Standard C was designed to be an 
efficient, portable, systems program- ' 
ming language. It used the computer’s 


underlying hardware and relaxed type 
checking to make programming con¬ 
venient for the experienced profes¬ 
sional. At the time the standard C pro¬ 
gramming language was created, this 
approach was acceptable, given the rel¬ 
atively modest computers upon which 
C and UNIX were first developed and 
the small number of programmers typi¬ 
cally working on a program. 

As the demands of increasingly 
complex projects and larger program¬ 
ming teams revealed the shortcomings 
of standard C, a new language was 
needed to allow the programmer to 
create, and manipulate software objects 


more easily. Today’s larger projects 
require a rigid programming discipline 
and added language features. 

Along with structured program¬ 
ming, object-oriented programming has 
evolved to make large software systems 
easier to maintain and, thus, more cost 
effective. The basic concepts of object- 
oriented programming—message pass¬ 
ing, data abstraction, and class inherit¬ 
ance—permit the programmer to write 
programs as groups of small, easily re¬ 
used “objects” that encapsulate data 
and procedures. These new concepts of 
program design require’ new constructs 
in programming languages. 




t . 












C++ adds enhancements and object-orientedprogramming 
to standard C, but is it really better? C and C++ are compared, 
and two C++ compilers are considered. 


MARTY FRANZ 


As defined in Kernighan and 
Ritchie’s classic, The C Programming 
Ixinguage (Prentice-Hall, 1978), C does 
not include object-oriented constructs. 
Although a gifted programmer can im¬ 
plement the idea of object-oriented 
programming in C, such constructs are 
difficult to achieve because of C’s es¬ 
sentially loose, low-level nature. 

C++ not only offers object-oriented 
programming facilities, but also pro¬ 
vides structured programming and fea¬ 
tures to correct other C shortcomings. 
Developed for the UNIX operating sys¬ 
tem by Bjarne Stroustrup at Bell Labs, 
C++ already has been proved succevss- ■ 


ful there, with nearly 650,000 lines of 
code developed. The C++ Program¬ 
ming Language by Stroustrup (Ad- 
dison-Wesley, 1986) is the comprehen¬ 
sive reference for the new language. 

In recognition of the jarge amount 
of soliv\^are that has been written in C, 
C++ was designed as a proper superset 
of C to ease softwTire conversion. In 
fact, the C++ compiler is actually a 
preprocessor that emits C source code, 
which then is compiled using a stan- ’ 
dat'd.C compiler. Normal C programs 
-pass through the C++ compiler un¬ 
changed, allowing the vast base of C 
'programs to be used in a C++ environ¬ 


ment without conversion. To use the 
additional features of C++, however, a 
programmer must absorb a large 
amount of new information. 

C++ ENHANCEMENTS 

One enhancement offered by C++ in¬ 
volves function arguments. Standard C 
does not check for type matching be¬ 
tween the function’s declaration and 
invocation, or for the number of argu¬ 
ments in a function. This loose ar¬ 
rangement, although occasionally con¬ 
venient for an expert, can cause unin¬ 
tended data truncation or lengthening 
and is a common source of bugs. 




ILLUSTRATION • NENAD j/VKESEX'IC/SONJA LAMUT 






Howto see VGA 
for what it leally is. 


V E C A D E 

L U X E V E G A 

DELUXEVEGAD 

ELUXEVEGADEL' 

X E EGADELUXEV GAD 
D E L U X E V E G A D E L U X E Y E G A D E I L X 







Take this little test. Look at the screen and notice the sharpness of the characters. And the brightness 
of the colors. 

And the name of the standard. VEGA Deluxe™ 

It’s a 640 X 480 high resolution graphics standard that IBM thought so highly of they built it 
into their own new Personal System/2 computers. 

But if you’ve already got a PC or compatible and a MultiSync monitor, then all you need 
is the $495 VEGA Deluxe card. 

The VEGA Deluxe is a standard that mns every piece of software written for CGA, MDA, Hercules and EGA And one that, with 
a free software upgrade, will run fijture programs written for IBM’s VGA With I 6 colors fi'om a palette of 64. 

Oh sure, the VEGA Deluxe uses advanced surface mount technology. And comes with a two year warranty. And has been the 
recipient of numerous awards including Editor’s Choice from PC Magazine and the Ultimate Machine fi'om PC Tech Journal. 

So head down to your nearest Video Seven dealer and see for yourself what high resolution really looks like. Or contact 
Video Seven. 

The VEGA Deluxe. It’ll open your eyes. 

Video Seven Inc., 46335 Landing Parkway, Fremont, CA 94538,1-800-238-0101 
(in California, 1-800-962-5700). We make a clear difference. 


aiijr luuivo iir 


VIDEOWSEVEN 


Registered trademarks: Video Seven,Video Seven Inc.; BM, International Business Machines Coq).Trademarks: MultiSync, NEC Home Electronics (USA) Inc; VEGA Deluxe,Video Seven Inc.Video Seven reserves the right to change specifiations without notice. 

CIRCLE NO. 204 ON READER SERVICE CARD 


SUCCEEDING C 

C++ rigidly checks arguments for 
type and number, forcing conversions 
to the calling argument’s type if neces¬ 
sary. It also extends C’s extern key 
word so that an external function dec¬ 
laration contains its calling list, much as 
the proposed ANSI C standard has 
done. (Although the syntax is different, 
C++ vendors plan to adopt the ANSI 
syntax when it is finalized.) Placing 
extern in an #include file ensures cor¬ 
rect type checking across multiple 
source files while still allowing inde¬ 
pendent compilation to occur. 

Along with this rigorous argument 
checking, C++ also can pass a variable 
number of arguments to a function and 
assign default values. This long-overdue 
improvement, which also is present in 
the ANSI standard for C, allows generic 
formatting functions, such as printf(), 
to be written cleanly. 

The C++ programming language 
uses ellipses to declare a function with 
an unspecified number of arguments: 

int printf(char* . . . ); 

It specifies default arguments by adding 
an = followed by a constant after the 
argument’s type declaration in the func¬ 
tion’s header: 

int myfunc(int, int =0); 

In this example, both arguments to 
myfunc are integers; the second argu¬ 
ment defaults to zero if it is not sup¬ 
plied by the programmer. 

C++ also extends C’s normal dec¬ 
laration syntax to include references, 
which point to a data type’s address 
rather than to its value. In C, passing to 
functions by reference is required with 
large data structures that cannot be 
passed by value. References are simu¬ 
lated in C by using pointers to data, 
typedefe, and macros, an approach 
prone to errors. In the C++ language, 
references allow these types of data to 
be passed without cumbersome pointer 
notation. For example, in 

bigstruct a;//large structure 
bigstruct& b = a; 

the identifiers b and a represent the 
same data, with b defined as a pointer 
to a. The notation // is one way to indi¬ 
cate a comment line in C++. All charac¬ 
ters that follow // are ignored up to the 
end of the line. 

Another enhancement, the inline 
function type, is of particular interest to 
those PC programmers who must con¬ 
tend with limited stack requirements. It 
allows functions to be compiled di- 
recdy into the calling module at the 
point where they are called, which re¬ 


sults in faster execution and reduced 
call overhead. However, unlike C pre¬ 
processor macros, inline has normal 
argument binding, which helps to 
avoid those often-subtle side effects. 

OBJECT-ORIENTED 

Although the enhancements just dis¬ 
cussed are convenient, they are not as 
important as the object-oriented pro¬ 
gramming statements in C++. All of 
these facilities are based on the class 
statement, which describes a new ob¬ 
ject type. Although similar to C’s struct 
statement in syntax, class does more 
than specify data layout in terms of 

C ++ can pass a variable 
number of arguments to a 
function and aseign default 
values—an improvement 
that is long overdue 


simpler types; it also includes initializa¬ 
tion and clean-up, class-related data 
manipulation, and coercion functions 
that are called automatically when con¬ 
verting a data type to a class type. 

To determine how a class is used 
in C++—and why it is an important 
extension to the C language—data 
structures and defined types in conven¬ 
tional C should be examined. A stan¬ 
dard C data structure is defined in The 
C7++ Programming Language as 

struct intset { 
int cursize, maxsize; 

int *x; 

}; 

This function defines a structure called 
intset (a set of integers) that contains 
the elements-cursize, maxsize, and x. 
The variable x holds a pointer to dy¬ 
namically allocate storage for the set. 
Although C’s intset is said to undergo a 
rigorous check when used in a pro¬ 
gram, problems still arise when using 
this method to encapsulate data. 

In the first place, the contents of 
the data structure are not private—that 
is, any function using intset can access 
the member data items within intset. 
These functions depend entirely upon 
the intset’s internal structurel If this 
data structure were to change, and, for 
example, were to use long instead of 
int, every function that accessed intset 
also would have to change. The stan¬ 


dard C language compiler would not 
catch this particular problem—it would 
be up to the individual programmer to 
track down and correct each one. 

Second, simply declaring a variable 
to be an intset does not guarantee it 
will operate correctly as one. Initializa¬ 
tion may be needed, or, at the very 
least, allocation of automatic storage for 
the variable’s contents using the func¬ 
tion malloc( ). The struct declaration 
does not insure that, once defined, a 
variable will be used correctly. 

These two problems, although triv¬ 
ial in small programs, can be nightmar¬ 
ish for the programmer maintaining a 
large software system that has many 
defined types in dozens of modules. 
Improved protection of a data item’s 
structure and more discipline regarding 
its usage are required. 

The C++ class statement comes 
closer to solving these problems than 
the struct declaration does. A class for 
intset is defined as 

class intset { 
int cursize, maxsize; 
int *x; 
public: 

intset(int m, int n); 

~intset(); 

int member(int t); 
void insert(int t); 

void iterate(int& i) 

{i = 0;} 

int ok(int& i) 

{ return i < cursize; } 
int next(int& i) 

{ return x[i+ + ]; } 

}; 

This definition syntactically resembles a 
struct in that braces are used to en¬ 
close the contents. However, the actual 
operation of a class is somewhat differ¬ 
ent. First, a class statement contains 
both functions and data. The function 
declarations, called member functions^ 
are the only functions allowed to di- 
recdy access data in a class statement. 

Second, the label public: separates 
the parts of a class statement that^are . 
visible to the outside program from the 
parts that are strictly private. The public 
functions and data items are the* pro¬ 
grammer’s sole external interface to a 
class statement. The C++ compiler pro¬ 
tects data items preceding them from 
direct manipulation by functions out¬ 
side the class. This isolation prevents 
functions outside the 'statement from 
changing if the data and functions in¬ 
side change—a vital way to simplify the 
maintenance of the final program. 


SEPTEMBER 1987 


169 



SUCCEEDING C 


The first function, intset(), which 
bears the class’s name, is known as the 
constructor. Whenever a new member 
is instantiated (that is, brought into ex¬ 
istence, with the identifier beginning its 
scope) by a declaration, the constructor 
is called in order to allocate storage or 
perform initialization. The second func¬ 
tion, ~ intset( ), known as the destruc¬ 
tor, is called automatically whenever an 
object of class intset is no longer in 
scope; it releases any dynamic storage 
that was allocated by the constructor. 
The statements new and delete in 
these functions allocate memory for 
their objects, just as malloc() and 
free() do in normal C. Unlike malloc() 
and free( ), however, new and delete 
automatically allocate one object of cor¬ 
rect size without casting the result or 
multiplying by sizeof(). C++ helps en¬ 
sure correct use of class statements by 
requiring that constructors and destruc¬ 
tors be defined and called. 

The remaining class functions per¬ 
form various manipulations on the set 
of integers. Because the integers cannot 
be directly accessed outside the class- 
member functions, all the services that 
users require must be implemented 
through class-member functions. There¬ 
fore, insertO adds an integer to the 
set; member( ) determines if a given 


integer is a member of the set; 
iterateO starts a loop through the set; 
ok() checks for the next member; and 
next() accesses it. With these functions, 
the user can loop through the set of 
integers starting at the first element. 
Within the scope of a class, functions 
can be both defined and declared. The 
member functions iterate(), ok(), and 
next() all have been defined as part of 
the object; they require no additional 
function definitions. 

The C++ Programming Language 
definition of intset, which creates and 
prints a set of random integers, illus¬ 
trates the uses of class statements and 
objects in a complete program (see 
listing 1, INTSETCX-Q. Although the 
program’s source code still looks like 
C, some important differences exist. 

First, the class statement defines 
the class of objects, or set of integers. 
Its data items consist of the set’s size 
(maxsize), the number of elements 
currently in the set (cursize), and a 
pointer to the integers in the set (x). 

Following the data declaration, the 
key word public: precedes a list of 
function declarations. Following the 
entire class declaration, some member 
functions of the class are defined sepa¬ 
rately. The function declarations are 
preceded with the name of the class 


and as in intset::member(), because 
member functions are defined locally 
to the class. In a complete program, 
several functions could be named 
member(), one defined for each of the 
other class statements used in the pro¬ 
gram. This notation, while lengthy, al¬ 
lows functions to be defined in files 
separate from the class declaration, 
then compiled separately. Functions 
also can be defined locally, within the 
scope of the class declaration, as were 
iterateO, ok()> next(). 

To use a class, first a specific ob¬ 
ject belonging to it must be declared: 

intset s(m, n); 

This statement not only declares s to 
be a member of class intset, but also 
calls the constructor to allocate mem¬ 
ory for the object’s data. The arguments 
m and n are passed to the constructor 
for dynamic memory allocation and 
other initialization procedures. 

Like other function calls in the 
C++ language, this constructor call is 
rigorously checked during compilation 
for type and number of arguments. 
Because forgetting to initialize dynamic 
data structures is a common program¬ 
ming error to make, the constructor is 
another way that C++ increases tlie re¬ 
liability of large programs. 



TurboC® and QuickC™ Users Only $99^^ 


LOOK & FEEL GREAT 

GetC-scape™. 2.0 with ! 


C^SCapet A breakthrough in fast and 
easy screen and keyboard interface manage¬ 
ment for C programmers. Create pop-up 
windows, pulldown menus, data entry 
screens, text screens, context-sensitive 
help, fiilly definable keystrokes, complete 
validation—develop professional-looking 
applications in quick turnaround, even 
as a beginning C programmer. 

If you know printf, you 
can use C-scape! 



* Upgrade to complete source for only $180.00. Complete 
package including source available for Aztec, Lattice, 
Microsoft; and other leading compilers for $279.00. 
Add $4.50 for shipping in North America; $36.00 overseas. 
Price subjea to change. 


Oscape: The state-of-the-art inter¬ 
face management system preferred by 
professional C programmers and con¬ 
sultants worldwide is now available to 
newcomers to C at an affordable price. 

“Incredibly flexible; a very compact and fast interface for 
all screen I/O, Easily the best and most powerful screen 
package.” C.S., Monarch Resources, Inc. “Fast and flexi¬ 
ble, far ahead of the competition.” R.M., Tillinghast. 

^Greatly reduces development time—also allows portable 
code. The cost/performance is incredible.” S.M., Barringer 
Geoservices, Inc. 

Look & Feel: A totally new 
WYSIWYG screen designer. Lets you 
design screens using the keyboard, then 
automatically turns each screen into 
readable C code that will compile on the 
first run. Create menus and data entry 
screens, define fields of any type. Fea¬ 
tures automatic horizontal and vertical 
scrolling, line draw and erase. Includes 
context-sensitive help. Perfect to learn C; 
perfect for productivity. 

C-scape and Look &. Feel are trademarks of Oakland Group, Inc, Turbo C is a registered trademark of Borland International, Inc. 

Quick C is a trademark of Microsoft Corporation. 


I \ Library: Includes pop-up^ exploding, stand- 
^ ard windows with "smart borders" and 
automatic scrolling; menus include pulldown, 
7-2-3 type, and ^andard formats; overlap¬ 
ping windows; horizontal and vertical scroll¬ 
ing, perfect for spreadsheet and data base 
applications; date, time, and money func¬ 
tions; a vast system for creating context- 
sensitive help, and more. 

Screen desianen The Look & Feel screen 
designer will have you producing fully- 
functional screens without writing a single 
line of code! Just draw, type, and convert to 
C. Also turns ASCII and uan Bricklin Demo 
screens to C. 

Manual: A professional, 470-page manual 
with extensive examples and a complete 
alphabetical reference section. 

Device drivers: Drivers swappable at run 
time let your applications run on virtually 
any hardware configuration—CGA, EGA 
(including 43-line mode), monochrome 
support. 

Source code: Limited source code allows 
you to create your own, unique function 
library or modify existing functions. 

Easy: C-scape is powerful, but easy to 
learn, easy to use, easy to customize, and 
easy to maintain. 

ANSI C compatible: Fully. Options allow 
writing to screen memory directly or going 
through BIOS. 
r~l 24-hour bulletin board: Great for support 
and up-to-date information. 
r~l No royalties, no run-time license: No need 
to pay more for your applications. 

I I Demo package available: See C-scape in 
action. Call nowl 


1 


□ 


□ 

□ 


□ 


□ 


CIRCLE NO. 186 ON READER SERVICE CARD 





Announcing - the database 
development system that 
you designed. 


PROGRAMMERS- 

We asked what you 
wanted in a database 
development system and 
we built it! 

db_VISTA III'“ is the database development system for 
programmers who want powerful, high performance 
DBMS capabilities ... and in any environment . Based on 
the network database model and the B-tree indexing 
method, db_VISTA III gives you the most powerful and 
efficient system for data organization and access. From 
simple file management to complex database structures 
with millions of records. db_VISTA III runs on most 
computers and operating systems like MS-DOS, UNIX, 
VAX/VMS and OS/2. It’s written in C and the complete 
source code is available, so your application perfor- 
mance and portability are guaranteed! With db_VISTA 
III you can build applications for single-user microcom¬ 
puters to multi-user LANs, up to minis and even main¬ 
frames. 


RAIMA’S COMMITMENT TO YOU: No Royalties, Source 
Code Availability, 60 days FREE Technical Support and 
our 30-day Money-Back Guarantee. Extended services 
available include: Application Development, Product 
Development, Professional Consulting, Training Classes 
and Extended Application Development Support. 


HOW TO ORDER: Purchase only those components 
you need. Start out with Single-user for MS-DOS then 
add components, upgrade ... or purchase Multi-user 
with Source for the entire db_VISTA III System. 

It’s easy... call toll-free today! 


RELATIONAL DBMS 
INDEX 


TABLE 1 


TABLE 2 


NETWORK MODEL DBMS... db_VISTA' 
RECORD 1 RECORD 2 


db__VISTA out-performs 
relational DBMS’s with direct 
access to data and less data 
redundancy. Your applications 
run faster and more efficiently! 


Overhead 
shown in 
black and 
dark gray. 


SFT ! 

POINTER 


The db_VISTA III^“ Database Development System 


Q db.VISTA™: The High Performance DBMS 

The major features include: • A runtime library of over 100 functions. 

• Multi-user support for LANs and multi-user • Operating systems: MS-DOS, UNIX V, 

computers. XENIX, VMS, OS/2. 

• Multiple database access. • C Compilers: Lattice, Microsoft. IBM, 

• File and record locking. Aztec, Computer Innovations, Thrbo C, 

• Automatic database recovery. XENIX, and UNIX. 

• Transaction processing and logging. • LAN systems: LifeNet, NetWare, PC Net- 

• Timestamping. work, 3Com, SCO XENIX-NET, other NET- 

• Database consistency check utility. BIOS compatible MS-DOS networks. 

• Fast access methods based on the network 

database model and B-tree indexing. Uses 0 db_QUERY:”' The SQL-based Query, 
both direct “set” relations and B-tree in- • Provides relational view of db_VISTA 
dexing independently for design flexibility applications, 

and performance. • Structured Query Language 

• An easy-to-use interactive database access • C linkable. 

utility. • Predefine query procedures or run ad-hoc 

• File transfer utilities for importing/export- queries ‘‘on the fly”, 
ing ASCII text and dBASE II/III files. 

• A Database Definition Language patterned 0 db_JREVISE”: The Database 

after C. Restructure Program. 

• Virtual memory disk caching for fast • Redesign your database easily. 

database access. • Converts all existing data to revised design. 


db_VISTA III™ Database 
Development System 


db_ VISTA” File Manager Starts at S195 

We’ll answer your questions, help 
determine your needs and get you started. 

CALL TODAY! 
mm l - 800 - db-RAIMA 

(that’s 1-800-327-2462) 


All components feature royalty-free run-time distribution, source code 
availability and our commitment to customer service. That’s why corporations 
like ARCO, AT&T, Hewlett-Packard, IBM, Northwestern Mutual Life, UNISYS 
and others use our products. 


Li^ 1 CORPORATION 

3055 U2th Avenue N.E., Bellevue, WA 98004 (206)828-4636 
Telex: 6503018237MCIUW FAX: (206)828-3131 






SUCCEEDING C 


After an object has been instan¬ 
tiated, the functions that make up the* 
class can be called by using the object’s 
name as a selector, as in 

s.insert(t); 

or as a pointer, as in 
set —> iterate(var); 

Because this can be hard to read, C++ 
extends normal C operators (such as 
+, —, and even [] for subscripting) to 
work with objects of various class state¬ 
ments. This operator overloading facil¬ 
ity enables the seamless use of class 
statements in programs, exactly as if 
they were basic types, such as int and 
float. The statement 

cerr « ’’set: ” « s « ”\n”; 

uses the dyadic operator « (normally 
left shift) to write variables and string 
literals to the stream file cerr; s is a 
character array in this example. This 
statement is equivalent to 

printf(cerr, ’’set: %s\n”, s); 

in the normal C language. 

A function that implements an 
overloaded operator is declared by 
naming it operator followed by the 
particular operator. Any of the C opera¬ 
tors, except for , and ?:, can be 

used this way. For example, 

istream& operator »(char*); 

declares the function operator », 
which accepts a pointer to characters. 
When the operator » is encountered 
in a statement, this function is called if 
the argument types match the declara¬ 
tion. Additional funaions also can be 
declared with the same name, but each 
takes a different argument type: 

istream& operator »(int&); 
istream& operator »(char&); 

These functions print integers 
passed by reference and single charac¬ 
ters. The C++ compiler determines 
which function to call based on the 
type of argument used in the invoca¬ 
tion. Like Ada, any C++ function can be 
overloaded by uniquely distinguishing 
the argument types passed to it. 

Operator overloading should be 
considered carefully before using them 
for user-defined types. For example, 
overloaded operators are not inher¬ 
ently commutative. A scalar-addition 
veaor operator that is defined as 

vector operator + (vector v, int i) 

cannot be invoked by the expression 
vl = 2 + v2. Also, vl = vl + 1 is not 
the same as vl + + unless operator+ + 


is appropriately defined. Overloading 
an operator in an obscure manner can 
do more harm than good. 

Isolating data in a class as to their 
member fiinaions often is a problem. 
For efficiency, some functions could 
require direct access to the private data 
of two or more class statements. To 
bypass this restriction, C++ allows class 
statements to specify friend functions 
that are not stricdy members of a sin¬ 
gle class, but still have access to the 


^^hen derived classes are 
used, the programmer can 
define functions in the base 
class that will work on ob¬ 
jects of all derived classes. 


statement’s private data. The particular 
function is declared to be a friend in 
the class declaration. 

Another restriction is that class 
statements sharing a similar structure 
must still be declared independently. 
C++ allows one statement to share the 
facilities of another using a mechanism 
called derivation. The declaration of a 
class called room might be 

class room { 
int length, width, height; 
char *roomname; 
public: 

// . . . 

} 

Another class, living__room, can be 
derived from room using the syntax 

class living_room : 
public room { 
int number_of_chaits; 
public: 

// . . . 

} 

This declares that living_room uses 
the properties of room. Unless rede¬ 
fined, the data (length, width, height), 
constructor, destructor, and member 
functions of living_room are the same 
as those of room. Any replacements 
declared within living_room override 
those of room and are unique to 
living_room. This mechanism, called 
inheritance, allows extensive reuse of 
the program code by carefully choos¬ 
ing class definitions. In this example, 
room is said to be the base class, and 
living__room, a derived class. 


A sample use of a derived class 
might be in a graphics module in 
which a base class contains the loca¬ 
tion, the color, and the number of 
sides for a given polygon: 

class polygon { 
int sides; 
point topcomer; 
color fc, bc; 

// . . . 
public: 

point where( ) 

{ return topcorner; } 
void setcolor(color f, b) 

{ fc = f; bc = b } 

// . . . 

}; 

With this base class defined, other de¬ 
rived class statements can be defined 
that handle special cases: 

class squareipublic polygon { 
int length; 

// . . . 
public: 

void draw(); 
void move(point to) 

{ topcorner = to; draw(); } 

// . . . 

} 

This class is defined for squares, which 
have four regular sides of the same 
length. The ftinctions square ::draw() 
and square()::move() can take advan¬ 
tage of the square’s symmetry when 
drawing or moving the object on a 
graphics screen, but the programmer 
still can use the functions setcolor() 
and where().of the polygon class, be¬ 
cause these functions are not unique to 
squares. Therefore, the programmer 
must write and test only two new func¬ 
tions for this new class. 

When using derived classes, the 
programmer can define functions in 
the base class that work on objects of 
all derived classes. This requires match¬ 
ing the function and object at runtime 
rather than at compile time, because 
the compiler cannot determine exactly 
which derived class is being used in a 
function call. This situation is analo¬ 
gous to using unions in standard C. To 
tell the compiler which data type is in 
use, the programmer includes a com¬ 
mon “type” field in the union and de¬ 
termines what other fields in the union 
to use based on this value. 

To avoid this practice, which is 
prone to bugs, C++ uses virtual func¬ 
tions, declared in the base class by the 
key word virtual. Derived classes can 
either redefine these functions when 
needed or use the version in the base 
class. A single pointer of overhead is 


172 


PC TECH JOURNAL 



added when virtual functions are used 
within a class. At runtime, the pointer 
is resolved to the correct function for 
the class of the object for which it is 
invoked. This is the only instance in 
the C++ language where binding of 
functions and objects occurs at run¬ 
time, which reduces the runtime over¬ 
head of compiled C++ programs. 

Thus, C++ can abstract data (be¬ 
cause data in a class are private), pass 
messages (by invoking class functions 
with object selectors for specific ob¬ 
jects), provide inheritance (using de¬ 
rived classes and virtual functions), and 
support limited runtime binding. These 
facilities are the building blocks of ob¬ 
ject-oriented programming. 

Unlike some other object-oriented 
languages, such as Smalltalk, C++ per¬ 
forms ver>^ little extra processing at 
runtime. The compiler and linker per¬ 
form almost all correspondence be¬ 
tween objects and functions, and the 
object code is almost as efficient as 
standard C. As a result, some important 
object-oriented language facilities are 
missing from C++, including automatic 
garbage collection of allocated storage, 
multiple inheritance (where one de¬ 
rived class has two base classes), and 
concurrent programming. These have 
been omitted because they would have 
compromised compatibility with exist¬ 
ing C compilation and linking, or 
would have added more overhead to 
standard C programs passed unchanged 
through the C++ compiler. 

LOOK-ALIKE COMPILERS 

Two C++ compilers are now available 
for DOS machines: Advantage C++ and 
Guideline C++. Both generate C code 
that can be compiled by the Microsoft 
C compiler. Advantage C++, from Life¬ 
boat Associates (which also carries the 
Microsoft C compiler and other pro¬ 
gramming tools), is packaged in a PC- 
manual-sized binder with slipcase and 
two diskettes. In addition, a version is 
available that operates with the Lattice 
C compiler. Guidelines C++, from 
Guidelines Software, is packaged in a 
standard 8.5-by-ll-inch loose-leaf 
binder, with two diskettes. 

These compilers bear more than a 
casual resemblance. Because both are 
derived from the same AT&T source 
code used in UNIX implementations, 
portability between the PC and UNIX 
versions should be uncomplicated. This 
implementation method has some dis¬ 
advantages. C++ is actually a prepro¬ 
cessor that translates its input C++ 
code and include files into C code; 
thus, lexical analysis, parsing, and 


Please write to: PC tech journal Magazine, 

RO. Box 2968, Boulder, CO 80322. 

Include your mailing label from a recent issue of 
PC TECH JOURNAL for faster service. Please allow 
up to 60 days for change of address to take place 



ENHANCED VERSION 

ADVANTAGE C++ 


Expand your programming capa¬ 
bilities with C++, the object- 
oriented language developed 
by AT&T that gives you all the 
benefits of C without Its limita¬ 
tions. ADVANTAGE C + + is 
the only full C+ + implementa¬ 
tion available, giving you the 
speed, support and reliability 
you need to develop large and 
complex applications. 


MORE POWER AND PERFORMANCE 


• Significantly faster and smaller. 

• Fully compatible with your exist¬ 
ing C programs and libraries. 

• Code is more reliable and 
maintainable. 

• Translates efficiently with vir¬ 
tually no run-time overhead. 

• Catches many mistakes the 
compiler misses, saving devel¬ 
opment time. 

• Tested on several hundred 
benchmark programs. 

• Most thoroughly documented 
product. 


• Continuously enhanced and sup¬ 
ported by over 20 developers. 

• Available for Microsoft and Lattice 
C compilers; SCO XENIX, 
Microport System V/AT, Sun, 
Apollo, VAX and other 
environments. 

• Based on latest AT&T version. 

• ANSI compatible. 

• Now in use by AT&T, Ashton 
Tate, GE, IBM, Lotus, Mitsubishi, 
NIH, Prime Computer, Texas 
Instruments and many other 
major corporations. 


MORE SUPPORT CAPABILITIES 


Virtual disks. 

Small, medium, compact and 
large memory models. 

Full C+ + source level debug¬ 
ging with CodeView and Pfix. 


Microsoft Windows compatible, 
with support for far, near and 
Pascal key words. 

Protected mode OS. 


Call 

1 - 800 - 847-7078 
In NY: 914 - 332-1875 

or see your local Lifeboat Authorized Dealer 

55 South Broadway Tarrytown N.Y. 10591 The Full-Service SouFce for Programming Software. 

CIRCLE NO. 143 ON READER SERVICE CARD 



SEPTEMBER 1987 


173 



























SUCCEEDING C 



Can your IBM-PC do this? 


MUIR PASS and vicinity 

as seen from azimuth 320 degrees 
eleratioD SO degrees 

PLOTWORKS, Inc. 

It can if you have PLOT88... 

and with PLOTS8, you can do a whole lot more. 


Plotworks offers you PLOT88, a library 
of subroutines to construct grids, con¬ 
tour maps, and three-dimensional mesh 
drawings. In addition, PLOT88 is a 
device-independent, industry-standard 
graphics package which includes PLOT, 
PLOTS, NUMBER, SYMBOL, AXIS, 
SCALE, LINE, FILL, and many 
others. You can output your drawings 
to Hewlett Packard plotters and laser 
jet printers, Houston Instrument plot¬ 


ters, and dot matrix printers. Now your 
mainframe graphics programs can run 
on your IBM-PC, PC/XT, or PC/AT at 
your convenience and at a fraction of 
the cost. 

PLOTWORKS, Inc. 

Dept. J-4, P.O. Box 12385 
La Jolla, CA 92037-0635 
(619) 457-5090 

""Toolmakers for the Information Age” 


CIRCLE NO. 188 ON READER SERVICE CARD 



RDWRNCEDl 


COMMUNICATION-LINK 


Intelligent crossroads 
for multiusers 


Nobody ever told your PC how to deal with 
eight channels of data traffic. But now, it’s 
got some help. It’s got the ACL Serial Card 
that takes the panic and frustration out of 
multiuser systems... and replaces them 
with speed and orderliness. 


*NO DATA PILE UPS! High speed dual port memory teamed with a PC compatible CPU 
gives you a high performance communication coprocessor. 

* MAXIMUM ADAPTABILITY! Eight independent channels of RS-232, with full hardware 
modem control handshakes, or software flow control. Also, RS-422 and RS-485 available, to 
interface with industrial process controls. 

* CREATE AND RUN YOUR OWN 
PROGRAMS! Download custom 
programs and have ACL run them. 

DRIVERS FOR MOST MULTIUSER SYS¬ 
TEMS (XENIXT* MICROPORT UNIX,^ AND 
QNX) Give us a call. Find out how the ACL Serial 
Card can help your PC reach its full potential. 


TECHNOLOG/ES /AC* 


STAR GATE TECHNOLOGIES INC. 

33800 Curtis Blvd., Eastlake, OH 44094 
(216) 951 -5922 TELEFAX NO. (216) 946-6892 


symbol-table maintenance must be per¬ 
formed twice—once by C++ and once 
by C. The resultant C file is typically 
large and generates a great deal of disk 
I/O. The performance degradation may 
not be noticeable on a minicomputer 
or mainframe UNIX system, but it is 
painfully evident on a PC. 

Before C++ can be used, Microsoft 
C must already be installed on the sys¬ 
tem, requiring a separate purchase be¬ 
fore either preprocessor can be used. 
Both Lifeboat and Guidelines include 
Stroustrup s book as part of the docu¬ 
mentation. Both preprocessors make 
heavy use of DOS environment varia¬ 
bles, which can create problems for 
users with early (2.x) releases of DOS, 
where environment size is limited to 
160 bnes. The Microsoft C compiler 
utility SETENV can be used to patch 
COMMAND.COM to allow additional 
environment space. 

Both also generate output in C 
code that can be debugged with Micro¬ 
soft’s powerful CodeView debugger. 
Because both use the Microsoft com¬ 
piler and linker, they can interface with 
commercially available libraries, such 
as those by Greenleaf Software, Inc. or 
Blaise Computing, Inc. Except for vir¬ 
tual functions, data structures created 
in C++ classes have no hidden over¬ 
head such as links or pointers; they can 
be passed freely among C++, C, and 
assembly functions according to stan¬ 
dard calling conventions. 

After preprocessing, the C source 
generated for the program is rather 
dense, but otherwise compliant with 
the standard described by Kernighan 
and Ritchie. The lengthy header decla¬ 
rations contained in the include file, 
stream.lixx, have been omitted for clar¬ 
ity (see listing 2, INTSET.C). 

As the listing shows, the translated 
C code makes heavy use of long identi¬ 
fiers to translate C++ references such 
as intset::insert() into legal C-ftinction 
names, the #line preprocessor direc¬ 
tive, and casts. In actual use, this C 
code is not maintained directly; instead, 
the C++ source is edited and prepro¬ 
cessed each time it is modified. 

Currently, no cross-reference or 
LINT-like utilities on the PC directly 
support C++ source code. However, 
because C++ already checks function 
arguments, some of die key functions 
of lint have been incorporated into the 
language itself. Only Advantage accepts 
the Microsoft extensions to C—key 
words near, far, and pascal—that are 
used in Microsoft Windows. The Micro¬ 
soft extensions are not portable to 
other environments such as UNIX. 


174 


CIRCLE NO. 177 ON READER SERVICE CARD 


PC TECH JOURNAL 




I'llli: PlUMiUAMMI 


i 


SHW 


provides complete information, advice, guarantees and every product for Microcomputer Programming. 


Practical Translators help leave 
BASIC behind 


sm(BsJh(SMi 


BASICA 







CZD 



PASCAL 


Benchmark BASICA Turbo Lattice C 



595 sec I 4 sec 3 sec 


597 sec 5 sec 2 sec 


50 sec 6 sec 6 sec 


55 sec No double 6 sec 




Free information about BAS_C, BAS_PAS, call 
Gotoless Conversion, Box 835910, Richardson, TX 75083 
Phone (214) 221-0383 Demo Disk $5.00 

BAS PAS $129 BAS C $169 


NEW!From Sterling Castle... 

BASIC Development tools 

Powerful “Automatic Programming” Tools 
That Save You Hours of Valuable Time. 

The novice or power programmer, can easily add these professional features. 

■ Screen Builder 

■ B+ Tree 

■ EZ Screen Pop-up Windows 

■ Help Message System j 

BASIC Development Tools^*^ (BD'H'^) is 
compatible with the newest, fastest compilers, 
including Microsoft QuickBASIC™ and Borland 
Turbo Basic.™ In BDT you have four powerful 
aids that can be u.sed separately or together. 

Screen Builder System translates the painted 
screen image into BASIC code which then can be merged in your program. 

B+Tree Data Manager is a very fa.st data file index .system providing both 
direct and sequential access to data. Complete source provided. 

EZ Screen Pop-up Window Manager, written in assembler, easily inserts 
menus, windows, notepads. Saves a portion of the .screen to/from a buffer. 

Help Message System allows the creation of context sensitive help messages in 
your application program. 

With BDT you have four of the most popular programming aids for $89 
Includes two diskettes and 220 page manual. . ^ 

60 DAY FREE TRIAL. STERLING CASTLE'"^^ 

ORDER rODAM ( 800 ) 722-7853 Sterling Castle. 702 Washington St.. Suite 174 ^^^^^^ 
( 213 ) 306-3020 in California MannadeiRe>.cA‘j<i :‘^2 



PROGRAMMABLE 

EDITOR 


FREE fully functional DEMO disk! 

Stunning speed. Unmatched performance. Total flexibility. 
Simple and Intuitive operation. The newest VEDIT PLUS 
defies comparison. 

Other editors just don’t offer this wide a range of features: 


• ‘Off the cuff macros • Execute DOS commands 

• Built-In macros • Configurable keyboard layout 

• Keystroke macros • ‘Cut and paste’ buffers 

• Multiple file editing • Undo line changes 

• Windows • Paragraph justification 

• Macro execution window • On-line calculator 

• Trace & Breakpoint macros 

VEDIT PLUS performed 10 times faster than Its nearest 
competitor in a pattern matching search test and replaced 
patterns even faster. 

Go ahead. Call for your free, fully functional demo today. 
You’ll see why VEDIT PLUS has been the #1 choice of pro¬ 
grammers, writers, and engineers since 1980. 

Available for IBM PC’s, MS-DOS, and CP/M. 

CompUVien 


CompuWew 

1955 Pauline Blvd . Ann Arbor. Ml 48103 (313) 996-1299. TELfeX 701821 


All trademarks acknowledged 


Call Today for FREE detailed QAA QAAiC 

information or try RISK-FREE OUU-^Zl-OUUO 

for 31 days any product on this page. HOURS: 8:30 A.M.-8:(X)P.M. E.S.T. 

5- P Pond Park Road, HIngham, MA 02043 Mass: 800-442-8070 or 617-740-2510 5/87 


FREE*: Probe the Minds of 19 
World-Class Programmers! 


Programmers at Work is a fascinating collection of interviews with industry 
leaders like Jon Sachs, Wayne Ratliff, Dan Bricklin, and Bill Gates. “Prefaced 
by a short biography and including program doodles and samples of source code, 
each interview examines the forces, the events, and the personality traits that have 
influenced the programmers’ work.” 

FREE* or Only $14.95! — from the jacket 


NOW: Special OFFER! 

via coupon (or mention this ad) 


Payment method: 

Accl. # _ 

Your Computer: . 


Order any product on this page OR 
$250 of any software and get 
Programmers at Work FREE! 


MasterCard/VISA 


UPS Ground $3/item. Air $6/item. (except book): _ 

(Call about other methods) Total: _ 

Offer expires 9/30/87. 

The Programmer's Shop, 5 Pond Park Rd., Hingham, MA 02043 

(800) 421 -8006 or in MA (617) 740-2510 P 


CIRCLE NO. 151 ON READER SERVICE CARD 






































From micro to mainframe, 

Cnsio’s got the hardware for your software. 


At first glance, it may look like an 
ordinary calculator, but the Casio 
solar CM-100 is anything but. It’s 
an extraordinary software tool 
that’s as useful in programming an 
Apple™ as it is a mainframe IBM™ 
The key to the CM-100’s 
incredible flexibility is Casio’s 
adjustable bit-size selector which 
can be set to suit any size com¬ 
puter up to 32 bits. And its block 
display which can, by scrolling 
blocks of 8 digits at a time, display 
up to a 32 bit word. 


But there’s much more to this 
pocket-size powerhouse. It can do 
base conversions from binary/ 
octal/decimal/hexadecimal modes 
and can store in its memory 
numbers in any base. It also has 
Shift, Rotate, Arithmetic Shift and 
Boolean functions that include 
AND, OR, XOR and NOT. 

Perhaps what is most extraor¬ 
dinary about the CM-100 though, 
is not how much it can do, but how 
little it costs to do it. The CM-100 is 
the only calculator that’ll let you do 


all your software figuring for less 
than you’d figure to pay for an 
average ($25.00) textbook. 

The more you work with com¬ 
puters—whatever their size—the 
more you need a CM-100. Whether 
you’re a student or professional, 
it’s the one piece of hardware that 
will make designing your software 
easier. 

Apple and IBM are trademarks of the Apple and IBM Corporations. 



Where miracles never cease 


Casio, Inc. Consumer Products Division: 15 Gardner Road, Fairfield, NJ 07006 (201) 882-1493, Los Angeles (213) 803-3411 

CIRCLE NO. 112 ON READER SERVICE CARD 






SUCCEEDING C 


One noticeable difference of Ad¬ 
vantage is its constructor linker step. 
Advantage C++ generates a reference to 
a special function when static or exter¬ 
nal objects are declared; constructor 
linker searches the map file created by 
link for this function’s reference, know¬ 
ing that external or static objects follow 
it. It then splices the appropriate calls 
into the start-up code so that the ob¬ 
jects are initialized correctly. 

With an automatic variable allo¬ 
cated on the stack, calling a constructor 
presents no problem because its scope 
begins after main() has started. Statics 
and externals, however, begin their 
scope before main() has started. The 
same is true of destructors; for exam¬ 
ple, memory has to be freed after 
main() has finished, when the program 
has exited. The constructor linker 
patches the start-up code for main() in 
the .EXE file to correctly call construc¬ 
tors for any static or external objects in 
the program. On UNIX systems, the 
constructor linker also updates mem¬ 
ber-function cross references and per¬ 
forms other post processing. 

In contrast. Guidelines imbeds a 
“magic number” before external or 
static objects. It then searches for this 
number in the .EXE file when the mod¬ 
ule is started, knowing an object to be 
constructed should follow this number. 
This essentially defers the constructor 
linking until runtime. 

Although this method eliminates 
the extra constructor-linker step, it can 
cause serious problems if static code or 
data in the program happen to match 
the magic number. Given the fact that 
C++ takes such immense care to en¬ 
sure code reliability, the magic-number 
method seems rather unreliable. 

Table 1 shows the basic specifica¬ 
tions of these two packages, which are 
quite similar. They both support the 
language as defined in die Stroustrup 
book and require fairly hefty resources, 
including a hard disk if the Microsoft 
compiler and libraries are included. 

GUIDELINES GAPS 

Guidelines C++ is installed using a 
batch file supplied with the package. 
The batch file builds a subdirectory 
called \CPP for the software, then allo¬ 
cates subdirectories named \CPP\BIN, 
\CPP\LIB, and \CPP\INCLUDE, mirror¬ 
ing the organization of Microsoft C. 

The BIN and LIB environment variables 
must be set to recognize these new 
directories for compilation. 

The Guidelines C++ documenta¬ 
tion is rather sketchy; its manual con¬ 
sists of a very slim section on installing 


TABLE 1: Compiler Spedfical ions 



GUIDELINES 

LIFEBOAT 

Product 

Guidelines C+ + 

Advantage C+ + 

Version tested 

1.1 

1.1M3 

Price 

1195 

$495 

Minimum disk space required'* 

720KB 

720KB 

Minimum RAM 

512KB 

640KB 

Supports full C+ + language 

• 

• 

Supports Microsoft C extensions 
Memory models supported 

O 

• 

Large 

• 

• 

Medium 

• 

O 

Compact 

• 

o 

Small 

• 

• 

^ Does not include Microsoft C compiler and libraries. 

• = Yes 

0 = No 



Their common heritage in the AT&T C++ compiler makes these two products 
basically similar; however, some important differences must be considered. 


Guidelines C++, some UNEX-format ref¬ 
erence pages on the actual programs, 
and AT&T’s C++ Translator release 
notes. In addition, the documentation 
that is provided is quite poor: it has no 
index, the pages give the appearance of 
being single-sided photocopies, and it 
contains barely enough information to 
install and use the software. 


Similar to Advantage, Guidelines 
replaces the Microsoft compiler driver 
with one that processes files through 
the C++ translator. No constructor 
linker is required for Guidelines C++, 
saving an extra preparation step. The 
driver is one of several batch files (one 
for each model type and compilation 
target) that can be modified easily. 


FULL AT&T C++ for half the price of our competitors! 

Guidelines announces its port of version LI of AT&T’s C++ translator. As an 
object-oriented language, C++ includes: classes, inheritance, member functions, 
constructors and destructors, data hiding, and data abstraction. ‘Object-oriented’ 
means that C++ code is more readable, more reliable and more reusable. And that 
means faster development, easier maintenance, and the ability to handle more 
complex projects. C++ is Bell Labs’ answer to Ada and Modula 2. C++ will 
more than pay for itself in saved development time on your next project. 


C++ 

from GUIDELINES for the IBM PC: $195 


Requires IBM PC/XT/AT or compatible with 640K and a hard disk. 

Note: C+ + is a translator, and requires the use of Microsoft C 3.0 or later. 


Here is what you get for $195: 

• The full AT&T vl.l C++ translator. 

• Libraries for stream I/O and complex math. 

• "The C++ Programming Language", the 
definitive 327-page tutorial and description 
by Bjarne Stroustrup, designer of C+ + . 

• Sample programs written in C+ + . 

• Installation guide and documentation. 

• 30 day money back guarantee. 


To order: 

.send check or money order to: 

GUIDELINES SOFTWARE 
P.O. Box 749 
Orinda, CA 94563 

To order with Visa or MC, 
phone (415) 254-9393. 

(CA residents add 6% tax.) 


C++ is ported to the PC by Guidelines under license from AT&T. 
Call or write for a free C++ information package. 


SEPTEMBER 1987 


CIRCLE NO. 221 ON READER SERVICE CARD 


177 
















The Advanced Programmer's Editor 
That Doesn't Waste Your Time 





Fast, EMACS-style commands—completely reconfigurable 
Run other programs without stopping Epsilon—concurrently! 


C Language support—fix errors 
Powerful extension language 
Multiple windows, files 
Unlimited file size, line length 
30 day money-back guarantee 


while your compiler runs 

• Great on-line help system 

• Regular Expression search 

• Supports large displays 

• Not copy protected 


Only $195 


l_LJ 


anu 

Software Ltd. 


5740 Darlington Road 
Pittsburgh, PA 15217 


Cali 

( 412 ) 421-5911 

for IBM PC/XT/AT's or compatibles 


CIRCLE NO. 125 ON READER SERVICE CARD 


Brand New From Peter Norton 
A PROGRAMMER’S EDITOR 




The Norton Editor" is a trademark or Peter Norton Computing. Inc. c 1986 Peter Norton Computing 


that’s lightning fast with the hot 
features programmers need 


Direct from the 
man who gave you 
The Norton Utilities, 
Inside the IBM PC, 
and the Peter Norton 
Programmer's Guide. 


INORTON 

EDITOR 


This is the program¬ 
mer’s editor that I wished 
I’d had when I wrote my 
Norton Utilities. You can 
program your way to 
glory with The Norton 
Editor.” 


Easily customized, and sav 
Split-screen editing 

A wonderful condensed/outline display 
Great for assembler, Pascal a«d C 


Peter Norton Computing, Inc., 2210 Wilshire Boulevard, 
Santa Monica, CA 90403,213-453-2361. Visa, 
Mastercard and phone orders welcome. 


CIRCLE NO. 183 ON READER SERVICE CARD 


SUCCEEDING C 

The Guidelines preprocessor does 
not support the range of options pro¬ 
vided by the Advantage preprocessor 
(discussed below), making it somewhat 
easier to use. However, the Advantage 
compiler can be used as a front-end to 
both Microsoft C and C++, but the 
Guidelines processor can compile only 
C++ programs. It has no provision for 
compiling C-only programs and passing 
switches to the Microsoft compiler. 

ADVANTAGE IDIOSYNCRASIES 

Installation of Advantage C++ is rela¬ 
tively straightforward. A batch file is 
provided to copy the preprocessor, li¬ 
braries, header files, and sample pro¬ 
grams into appropriate directories. 

Only passing mention is made of 
the fact that the Microsoft large-model 
libraries must be present for the pre¬ 
processor to operate. In fact. Advantage 
supports only the large and small mod¬ 
els, which could cause problems in 
applications using other memory mod¬ 
els. In addition, although the documen¬ 
tation lists 512KB as the minimum 
amount of RAM needed, even the 
smallest sample program would not 
compile correctly until 640KB was in¬ 
stalled on a DOS 3.2 system. 

Advantage C++ includes on dis¬ 
kettes all the programs in The C++ Pro¬ 
gramming Language, which makes 
learning C++ by self study easier. How¬ 
ever, the documentation lacks an index 
and is poorly organized. The manual 
consists of the Stroustrup book, an 
additional 58 pages describing the C++ 
implementation for both the Lattice and 
Microsoft compilers, and the AT&T C++ 
translator documentation. 

In normal use. Advantage C++ acts 
like a complete driver for the compila¬ 
tion process. It compiles groups of 
C++ or regular C programs with a sin¬ 
gle command. Prefix characters segre¬ 
gate compilation switches for use by 
either the C++ or the C compiler. 

After compilation, link generates a 
.EXE file, followed by a constructor 
linker. The Advantage driver does not 
handle the Plink linker by Phoenix 
Computer Products, thus disallowing 
that linker’s overlay facility, which is 
useful in large programs. 

Advantage’s development environ¬ 
ment is very similar to the standard 
Microsoft C environment, because the 
additional .EXE files, libraries, and 
header files are all installed into the 
appropriate Microsoft directories. Other 
than the added compilation steps (and 
some changes to Microsoft compilation 
switches), using Advantage C++ is a rel¬ 
atively painless, but slow, process. 


178 


PC TECH JOURNAL 



TABLE 2: Beiicbnuirk Resii/B 



PREP 

COMPILE 

LINK 

CONSTRUCT 

TOTAL 

RUN 

SIEVE 

MSC only 

N/A 

27.9 

16.0 

N/A 

43.9 

87.3 

Guidelines 

21.0 

25.3 

16.2 

N/A 

62.5 

87.2 

Lifeboat 

28.3 

21.\ 

24.2 

2.8 

82.4 

87.3 

INTSET 

Guidelines 

50.2 

58.0 

31.4 

N/A 

139.6 

4.7 

Lifeboat 

62.3 

59.2 

41.7 

15.8 

179.0 

5.1 

COMP 

Guidelines 

61.0 

46.4 

38.8 

N/A 

146.2 

1.4 

Lifeboat 

83.3 

48.2 

46.7 

19.3 

197.5 

1.9 

NODES 

Guidelines 

23.9 

63.3 

16.3 

N/A 

103.5 

0.9 

Lifeboat 

23.0 

62.4 

24.0 

3.0 

112.4 

1.1 

Times shoivn are in seconds. 

Benchmarks were done on an IBM PC/XT with 640KB memory, usmg DOS 3.2. 


C++ was designed to add very little execution overhead to programs, and it succeeds in this respect. These two products are 
implemented as preprocessors, which extends the already-lengthy compile times of the Microsoft C compiler (version 4.0). 


MAKING THE C++ GRADE 

Four sample test programs were com¬ 
piled and run by both compilers: sieve, 
intset, nodes, and comp. The Eratosthe¬ 
nes Sieve program was run through tlie 
Microsoft C compiler alone to have an 
indication of the additional overhead 
generated in C++ programs. Intset, 
taken from the Stroustrup book, gener¬ 
ates a set of integers, then prints its 
members. Nodes, also from die book, 
tests compilation of virtual functions 
and class inheritance. Comp defines a 
class of complex numbers and creates 
two objects from it. The Guidelines 
compiler, as shipped, could not run 
this test because a function was missing 
from its library. A call and a quick 
patch from Guidelines Software re¬ 
solved the problem. 

The test machine was a PC/XT with 
a 10MB hard disk and 640KB of mem¬ 
ory running DOS 3.2. CONFIG.SYS had 
BUFFERS = 20 and FILES = 20 and the 
system was rebooted between tests to 
eliminate the effect of disk buffering. 
Test results are shown in table 2. The 
constructor-linker step was timed sepa¬ 
rately, and this step was included only 
for the Advantage compiler. 

Overall, Guidelines C++ tested 
slightly faster than the Advantage C++. 
The Advantage constructor-linker step 
also added a few seconds to the com¬ 
pile times; however, both compilers 
added appreciable time to what is al¬ 
ready a slow compilation process with 
the Microsoft C compiler. 

The object modules generated by 
the two compilers also were very close 
in performance, and close to the base¬ 
line performance of native C code. Nei¬ 


ther C++ compiler added much run¬ 
time overhead to normal C code, as 
shown in the Sieve timings. 

The tests confirm that, although 
programs take longer to process 
through the C++ compilers than 
through a C-only compiler, the code’s 
performance levels are close to stan¬ 
dard C code. Thus, C++ could be an 
effective tool where the slower compi¬ 
lation times are not as appreciable, 
such as in a 80386-based system. 

Both Advantage C++ and Guide¬ 
lines C++ are essentially ports of the 
AT&T C++ compiler running under 
UNIX System V. Their size and speed 
are comparable, although Guidelines is 
slightly faster. The Advantage documen¬ 
tation is better, but the Advantage pack¬ 
age is also much more expensive. Both 
suffer from sketchy documentation that 
is well below the current standard for 
C compilers on the PC. 

Unlike other object-oriented pro¬ 
gramming languages, such as Actor and 
Smalltalk-80, C++ is designed to work 
on top of an existing low-level lan¬ 
guage. But this construction is a 
double-edged sword. The tests show 
the performance of compiled C++ pro¬ 
grams is extremely good because of 
the optimization available from the 
Microsoft compiler; however, the driver 
syntax and environment required to 
use C++ is cumbersome and tlie extra 
processing time is a nuisance. 

Although C++ is a better C lan¬ 
guage, incorporating many improve¬ 
ments over standard C, its implementa¬ 
tion as a preprocessor could hurt pro¬ 
grammer productivity by adding extra 
time to the process of compiling and 


linking programs. Because the fast Bor¬ 
land Turbo C and Quick C compilers 
finally are becoming available, C++ is 
an anachronism in many ways—an at¬ 
tempt to improve programmer produc¬ 
tivity by adding new statements to C, 
rather than improving the process of 
writing and debugging programs in C. 

For programmers developing size¬ 
able software packages with a large 
team of programmers, the extra expres¬ 
sive power and syntactic rigor of C++ 
is well worth examining closer. For the 
rest, C++ is not recommended until a 
faster programming environment can 
be provided. 1 Miiimim 


Guidelines Software 
P.O. Box 749 
Orinda, CA 94563 
415/254-9393 
Guidelines C++ 1.1 

CIRCLE 354 ON READER SERVICE CARD 


Lifeboat Associates 
55 South Broadway 
Tarrytown, NY 10591 
800/847-7078; 914/332-1875 
Advantage C++ 1.1 M3 

CIRCLE 355 ON READER SERVICE CARD 

Microsoft Cojporation 
16011 N.E. 36th Way 
P.O. Box 97017 
Redmond, WA 98073 
800/426-9400; 206/882-8080 
Microsoft C Compiler 4.0 

CIRCLE 356 ON READER SERVICE CARD 


Martyr Franz is a programmer for Allen Test 
Products, a division of The Allen Group, 
Inc., located in Kalamazoo, Michigan. 


SEPTEMBER 1987 


179 













SUCCEEDING C 



USTINGl: INTSET.CXX 


return 0; // not found 

> 



#include <streani.hxx> 


void print_in_order(intset* set) 



class intset C 


int var; 



int cursize, tnaxsize; 


set->iterate(var); 



int *x; 


while (set->ok(var)) cout « set->next(var) « "\n"; 



public: 


> 



intset(int m, iit n); 

-intsetO; 


main () 

f 



int member(int t); 


int count = 0; 



void insertCint t); 


int m = 100; 
int n = 10000; 



void iterate(int& i) { i = 0; > 


intset s(m,n); 



int ok(int& i) C return i<cursize; > 

int next(int& i) C return x[i++]; > 


int t = 0; 



>; 


while (count <m) i 





t = randint(n); 



extern void exit (int); 


if (s.mefi±>er(t)==0) { 





s.insert(t); 



void error(char *s) 


count++; 



C 


> 



cout « "set: " « s « "\n"; 


> 



exitd); 


print_in_order(&s); 



> 


> 



extern int atoi(char *); 


UST1NG2: INTSET.C 



extern int randO; 


#line 1 "intset.cpp" 



int randint (int u) //in the range 1..u 


/* «cfront 05/20/86» */ 



C 


/* < intset.cpp */ 



int r = randO; 
if (r < 0) r = -r; 


#line 1 "intset.cpp" 



return 1 + r%u ; 





> 


#line 4 "intset.cpp" 

struct intset { /* sizeof = 6 */ 



intset::intset(int m, int n) 


int _intset_cursize ; 



if (m<1 II n<m) errorC'illegal intset size"); 


#line 5 "intset.cpp" 



cursize = 0; 


int _intset_maxsize ; 



maxsize = m; 


int *_intset_x ; 



X = new int [tnaxsize]; 


> ; 



> 


struct intset *_intset_ctor (); 





int _intset_^dtor (); 



intset::-intsetO 





C 


#line 11 "intset.cpp" 



delete x; 


int _intset_member (); 



> 


int _intset__insert (); 



void intset::insert(int t) 


#line 19 "intset.cpp" 



C 


extern int exit (); 



if (++cursize > tnaxsize) errorC'too many elements"); 
int i = cursize-1; 


#line 21 "intset.cpp" 



x[i] = t; 


int error (_auto_s )char *_auto_s ; 



while (i>0 && xti-1]>x[i]) € 


i 

#line 23 "intset.cpp" 



int t = x[i]; 


_ostream_IshiftFPC_ ( (struct ostream *)_ostream_IshiftFPC_ ( 



xCi] = x[i-1]; 


(struct ostream *)_ostream_IshiftFPC_ ( & cout , (char *)"set: 



x[i-1] = t; 
i--; 


") , (char *)_auto_s ) , 

#line 23 "intset.cpp" 



> 


(char *)"\n") ; 



> 


_cPP_exit_( 1 ) ; 

> 



int intset::tnember(int t) 

< 


extern int atoi (); 



int 1 = 0; 





int u = cursize-1; 


#line 29 "intset.cpp" 
extern int rand (); 



int m =0; 





while (1 <= u) < 


#line 31 "intset.cpp" 



m = (l+u)/2; 


int randint (_auto_u )int _auto_u ; 



if (t < x[m]) 


C 



u = m-1; 


#line 33 "intset.cpp" 



else if (t > x[tn]) 


int _auto_r ; 



1 = tiH-1; 





else 


#line 33 "intset.cpp" 



return 1; // found 


_auto_r = rand ( ) ; 



> 


if (_auto_r < 0 )_auto_r = (- _auto_r ); 



180 


PC TECH JOURNAL 












CLONES 


I*] 



DESKTOP PUBLISHING 


FACE IHE FACTS 
AND THE FUTURE. 


The industry standards are chang¬ 
ing. ..new operating systems have 
been introduced, applications are 
being built with more powerful 
tools, and desktop work stations 
will be at the heart of increasingly 
complex, development operations 
with a need to link both like and 
unlike machines and software. 

How will these changes affect your 
computer buying, development 
and integration? What may have 
been wise hardware and software 
decisions a few months ago may 
be dangerous next month. And 
your state-of-the-art system may 
be obsolete by the end of the year. 

Tune into the new technology with 
PC TECH JOURNAL, the magazine 
written for systems professionals 


who must tackle important develop¬ 
ment and integration decisions for 
their company. 

No other magazine brings user, 
developer and integrator concerns 
to the table quite like PC TECH 
JOURNAL. We face the issues. 

We analyze new products to help 
you make wise purchasing and 
planning decisions. We help keep 
your system at optimum levels 
of performance. 

This is the magazine written for 
designers, DP/MIS professionals, 
integrators and consultants who 
are involved in advanced IBM PC 
applications and development. 

We cover today’s technology and 
tomorrow’s innovations. Sub¬ 
scribe today, you’ll receive 13 


issues a year, including the special 
PC TECH JOURNAL DIRECTORY 
issue and SAVE 50% OFF the sin¬ 
gle-copy price of $53.35. Mail the 
attached order card today or 
caU toU-free 1-800-852-5200. 


■ Two years (26 issues) only 
$53.35. SAVE 50%! 

■ One year (13 issues) only 
$26.70. SAVE 50%! 


Basic annual subscription 
price $34.97. 






DISC DATA MANAGER: 

For people who need 
a lot of storage now... 

Introducing the DISC DATA MANAGER™ 
from Seagate. The high-capacity storage subsystem 
that expands module by module to meet your 
changing needs. 

Since you choose the capacity, you never pay for 
more storage than you need. Yet, affordable growth 
is there when you need it. 

The DISC DATA MANAGER is a SCSI sub¬ 
system that provides compatible storage for many 
environments. Including PC-DOS* and Novell’s 
popular Advanced Netware? 

As your needs for storage sharing increase, the 
DISC DATA MANAGER can be converted into 
the LAN DATA MANAGER^ a high-performance, 
IBM*-compatible file server. 

But this is just half the story. 



CIRCLE NO. 219 ON READER SERVICE CARD 


SUCCEEDING C 

return (1 + (_auto_r % _auto_u )); 

> 

struct intset *_intset_ctor (_auto_this , _auto_m , _auto_n ) 

#line 17 "intset.cpp" 

register struct intset *_auto_this ; 

#line 38 "intset.cpp" 
int _auto_m ; 

#line 38 "intset.cpp" 
int _auto_n ; 

{ if (_auto_this == 0 )_auto_this = (struct intset *)_new ( (long)6); 
if ((_auto_ni < 1 )|| (_auto_n < _auto_(n ))error ( 

"illegal intset size") ; 

_auto_this -> _intset_cursize = 0 ; 

_auto_this -> _intset_maxsize = _auto_m ; 

_auto_this -> _intset_x = (((int *)_new ( 2* _auto_this -> 
_intset_niaxsize ) )); 
return _auto_this ; 

> 


#line 46 "intset.cpp" 

int _intset_^dtor (_auto_this , _auto_free ) 

#line 17 "intset.cpp" 

register struct intset *_auto_this ; 

#line 49 "intset.cpp" 
int _auto_free ; 

#line 47 "intset.cpp" 

C if (__auto_this K 
#line 48 "intset.cpp" 

_delete ( (int *)_auto_this -> _intset_x ) ; 

if (_auto_this )if (_auto_free )_delete ( (int *)_auto_this ) ; 

> > 

; 

#line 51 "intset.cpp" 

int _intset_insert (_auto_this , _auto_t ) 

#line 17 "intset.cpp" 

register struct intset *_auto_this ; 

#line 51 "intset.cpp" 
int _auto_t ; 

< 

#line 54 "intset.cpp" 
int _auto_i ; 

#line 53 "intset.cpp" 

if ((++ _auto_this -> _intset_cursize )> _auto_this -> 
_intset_niaxsize )error ( "too many elements") ; 

_auto_i = (_auto_this -> _intset_cursize • 1 ); 

(_auto_this -> _intset_x [_auto_i ])= _auto_t ; 

#line 57 "intset.cpp" 

while ((_auto_i > 0 )&& ((_auto_this -> _intset_x [_auto_i - 1 
])> (_auto_this -> _intset_x [_auto_i ))))C 
#line 58 "intset.cpp" 
int _auto_t ; 

#line 58 "intset.cpp" 

_auto_t = (_auto_this •> _intset_x C_auto_i ]); 

(_auto_this -> __intset_x C_auto_i ])= (_auto_this -> _intset_x 
[_auto_i. - 1 ]); 

(_auto_this -> _intset_x [_auto_i -13)= _auto_t ; 

_auto_i -- ; 

> 

> 

; 

int _intset_member (_auto_this , _auto_t ) 

#line 17 "intset.cpp" 

register struct intset *_auto_this ; 

#line 65 "intset.cpp" 
int __auto_t ; 

C 

#line 67 "intset.cpp" 
int _auto_l ; 
int _auto_u ; 

#line 70 "intset.cpp" 


182 


PC TECH JOURNAL 




















































int _auto_m ; 

#line 67 "intset.cpp" 

_auto_l = 0 ; 

_auto_u = (_auto_this -> _intset_cursize - 1 ); 

#line 70 “intset.cpp" 

_auto__ni = 0 ; 

while <_auto_l <= _auto_u )<: 

#line 72 “intset.cpp” 

_auto_tii = ((_auto_l + _auto_u )/ 2 ); 

if (_auto_t < (_auto_this -> _intset_x [_auto_m ])) 

#line 74 “intset.cf^" 

_auto_u = (_auto_in - 1 ); 

else if (_auto_t > (_auto_this -> _intset_x [_autojn ])) 

#line 76 "intset.cpp” 

_auto_l = (_auto_m + 1 ); 
else 

#line 78 "intset.cpp" 
return 1 ; 

> 

return (int )0 ; 

> 

int print_in_order (_auto_set )struct intset *_auto_set ; 

C 

#line 85 "intset.cpp" 
int _auto_var ; 

#line 86 "intset.cpp" 

int _auto_^Xa_IshiftFI_ostream ; 

( (*((int *)(& _auto_var )))= 0 ) ; 

#line 87 "intset.cpp" 

while (( (*((int *)(& _auto_var )))< ((struct intset *)_auto_set 

)-> _intset_cursize ) )_ostream_IshiftFPC_ ( (struct ostream 

*)( (_auto_^Xa_IshiftFI_ostream = ( ((struct 

#line '67 "intset.cpp" 

intset *)_auto_set )-> _intset_x ((*((int *)(& _auto_var )))++ ]) 

)f ( _ostream_IshiftFL_ ( ((struct ostream *)(& cout )), ((long 

)_auto_Xa_IshiftFI_ostream )) ) 

#line 87 "intset.cpp" 

) , (char *)"\n") ; 

>; 

int main ()C _main(); 

#line 91 "intset.cpp" 
i 

#line 92 "intset.cpp" 
int _auto_count ; 
int _auto_m ; 
int __auto_n ; 
struct intset _auto_s ; 

#line 97 "intset.cpp" 
int _auto_t ; 

#line 92 "intset.c]^" 

_auto_count = 0 ; 

_auto_m = 100 ; 

_auto_n = 10000 ; 

_intset_^ctor ( & _auto_s , _auto_m , _auto_n ) ; 

#line 97 "intset.cpp" 

_auto_t = 0 ; 

while (_auto_count < _auto_m )€ 

#line 99 "intset.cpp" 

_auto_t = randint ( _auto_n ) ; 
if (_intset_member ( & _auto_s , _auto_t ) == 0 ){ 

#line 101 "intset.cpp" 

_intset_insert ( & _auto_s , _auto_t ) ; 

_auto_count ++ ; 

> 

> 

print_in_order ( & _auto_8 ) ; 

#line 95 "intset.cpp" 

_intset_dtor ( & _auto_s , (int )0 > ; 

> 

_cPP_exit_(0);>; 

/* the end */ 


... and a lot more 
in the future. 


With the DISC DATA MANAGER, you can add 
more disc drives as your need for storage grows. 
Adding one or more drives gives you a capacity range 
from 160 MB to over 1 gigabyte. 

Using multiple drives, you can perform 
overlapping operations. Or back up important files 
on separate drives. There’s even an optional 40 MB 
tape drive for archival storage. 

Best of all, the DISC DATA MANAGER is 
made by Seagate, the people who have built reliable 
performance into more than 6 million 554" hard 
disc drives. 

For more information on the storage subsystem 
that grows with you, call us. 800-468-DISC. 

Ask for Tim. 



^Seagate 


DISC DATA MANAGER 
and LAN DATA MANAGER 


stered trademarks of 
nal Business 
Corporation. Novell 
edNet ware is a trade¬ 
mark of Novell, Inc. 


CIRCLE NO. 219 ON READER SERVICE CARD 


SEPTEMBER 1987 


183 





















































A Telt^ldeo 


© 1987TeleVideo Systems. Inc. TeleSTAR/386 is a trademark of TeleVideo Systems, Inc. MS-DOS is a trademark of Microsoft Corp. UNIX is a registered trademark of Bell Laboratorie 


ISETTINGS 

'PLOT 

jUTILm 


0.56,13.06 


NowThe Only Limit 
Is¥3ur Imagination. 

Introducing TeleSTAR, the first open system 
386 engineering workstation. 


The new TeleVideo® TeleSTAR/386''' 
Engineering Workstation is the first 
workstation to give you 16 MHz 
80386 power, high resolution 


graphics and Ethernet'” networking. 
It even comes with an affordable 
price: just $10,995. 

The newTeleSTAR/386 is an 


“open system!’ with all the features 
you expect to find on a Motorola 
68020-based workstation. It’s the 
only way to get all the flexibility, 
portability and connectivity 
you need. 

It uses Microport'” DOSMerge 
386'” for concurrent UNIX® system 
V3 and MS-DOS'” operation to give 
you access to the widest range of 
technical and business software. 

It also features MIT’s X Window,'” 
the de facto standard user-interface 
system for multitasking on one 
screen, plus GKS software for stan- 


;autocw) 

l-tt 41 » 

Ismip 


iBLOCKS 

DIH: 

IDISPUY 


i>TeIeVideo 


Motor/ Pump 


Assembly | 


MechciTiicctl 


























Mi(.rr>|)<IIt .111(1 |i( ''■■Mt uv '(Hii.iic 


dard graphics applications. 

To present your work at its 
best, there’s a 1280x 1024 pixel 
high-resolution display and 256 
simultaneous colors from a palette 
of 4,096 (with 16.7 million colors 
optional), and a monochrome dis¬ 
play with the same high-resolution 
and four grey levels. There’s even a 
mathematical co-processor to help 
speed up your calculations. 

And to help you share the 
wealth, there’s a built-in Ethernet 
interface with TCP/IP and RES 
software under UNIX system V.3 


supporting NFS"'’ from Sun Micro¬ 
systems. Together, they let you 
network heterogeneously with 
mainframes, stand-alone work¬ 
stations and PCs. 

OurTeleSTAR/386 Engineer¬ 
ing Workstation comes with features 
you might not expect at such a low 
price. Including a 17-inch color 
monitor (a 19-inch monochrome 
monitor is optional). A 3-button 
optical mouse. And 4 Mbytes of 32- 
bit RAM memory that’s expandable 
to 16 Mbytes. 

If you’re ready for a worksta¬ 


TfeleMded 

THE VISION YOU NEED TO SUCCEED. 
CIRCLE NO. 182 ON READER SERVICE CARD 

Call 1-800-835-3228 


tion that gives you the power you 
need at a price you can afford, you’re 
ready for the new TeleSTAR/386. 

Call us toll-free or write today, 
for more information. 

TeleVideo Systems, Inc., 

1170 Morse Avenue, Sunnyvale, CA 
94088-3568. 















Inexpensive switches—either mechanical 
or electronic—can be more effecHv^': 
than LANsfor sharing peripherals. J 


conhec^l^l 
cost 
a ^rial 
already'^ 
for 

little,;^' 


I ocal area networks are almost tlie 
automatic answer to all questions of 
i sharing equipment. Using a LAN 
to share a printer or another periph¬ 
eral, however, is like hitting a thumb¬ 
tack with a sledge hammer. 

An alternative metliod* is to use a 
peripheral-sharing switch. The simplest 
of these switches lets t^ computers 
share one peripheral; a two-position 
knob pn the switch selects which com¬ 
puter drives the peripheral. More so¬ 
phisticated electronic switches elimi¬ 
nate manual switching and provide out¬ 
put buffering for multiple computers. 

Most computers do not require 
any hardware or software changes to 
use a peripherahsharing switch. On 
each computer, the serial or parallel 
port normally connected directly to the 
peripheral is instead conneaed to the 
switch; a cable leads from the switch to 
the peripheral that is being shared. 


Applications for the most part use the 
peripheral as if it were connected di- 
recdy to the computer. 


LANS VS. SWITCHES 

Peripheral-sharing switches can be use¬ 
ful in many small businesses and de¬ 
partments for sharing printers, plotters, 
and modems; to perform occasional, 
file transfers; or to provide a small 
local electronic mail system. If a LAN Is 
already installed or added later to a 
switch installation, the switch can be 
integrated into the LAN (see figure. If '. 
All computers on tlie LAN can use die ' 
printer through the LAN’s print sefver»J • 
which is connected to the switcfr 
puters that are not on the LAN, perh^ 
because their applications canhpt 
the memory a IAN, requires, alsO jC^ao -A 
access the printer throu^ the 

For these smaller installatic^i!^-'''" 
ripheral-sharing switches have 
























LANALTERNmVES 



Even when a LAN is installed, a switch can be useful. Here, two non-networked PCs share the printer with the network. 


more sophisticated LAN functions, such 
as file sharing, electronic mail and 
messaging, and multiuser applications. 
Although some serial switches allow 
two computers to communicate and 
perform file transfers, they lack the 
transparent operation of a LAN and are 
much slower; the transfer occurs at se¬ 
rial-port speeds (typically 300 to 19.2K 
baud), rather than at LAN speeds (typi¬ 
cally IM to lOM bits per second). 

This low speed also limits growth. 
With a LAN, hundreds of PCs and pe¬ 
ripherals can be built into one net¬ 
work; with switches, they cannot. Typi¬ 
cal switch installations contain two to 
eight PCs sharing one or two printers. 
Most of the more sophisticated 
switches can handle perhaps a modem, 
a plotter, and a few links to main¬ 
frames or minicomputers. Adding more 
peripherals would push the technology 
farther than it was designed to go. 

LANs are designed for convenient 
multiuser database access; switches are 
not. Although some switches let a user 
view a file on another computer, only 
one user can access a computer at a 
time. Access is through the RS-232 port, 
which can accommodate only one re¬ 
mote computer at a time. Some so- 
called RS-232 LANs, which use an RS- 
232, or asynchronous, port as LAN 


hardware, overcome this limitation, al¬ 
lowing low-speed multiuser access 
through die RS-232 port. However, no 
units tested provided this feature. 

CONSIDERING SWITCHES 

Peripheral-sharing switches can be 
either mechanical or electronic. A me¬ 
chanical switch has one or more man¬ 
ual controls to select the computer 
and/or peripheral to be connected. An 
electronic switch detects activity on its 
input port when a computer transmits 
data and automatically connects the 
computer to a free output port (and its 
attached peripheral). If the output port 
is not free, the switch returns a busy 
signal to the computer. 

Electronic switches are eidier N- 
to-N or any-to-any. In an N-to-N switch, 
each port must be configured for input 
or output. Two-to-one switches, for ex¬ 
ample, have two inputs and one output. 
Other common sizes are two-to-two, 
three-to-one, four-to-one, and four-to- 
two switches. In an any-to-any switch, 
any serial port can connect to any 
other serial port for both input and 
output, but each parallel port still must 
be configured for one or the odier. 

Other key considerations in evalu¬ 
ating switches are the presence of an 
internal buffer, support for multiple 


simultaneous inputs, and provision for 
interconnecting serial inputs and paral¬ 
lel outputs. When a switch is said to 
support multiple, “simultaneous” in¬ 
puts, input is not truly simultaneous, 
although it appears to be. The switch 
reserves buffer space for each input 
port and continues to scan input ports 
even while taking input. If input is de¬ 
tected on a second port, the switch 
jumps quickly back and forth between 
the two ports, allotting some buffer 
space to each. Switches that do not 
allow simultaneous input permit data 
from one input port to fill the entire 
buffer and do not free the buffer until 
that port becomes inactive. 

THE MECHANICAL ROUTE 

The most appealing aspect of a me¬ 
chanical switch is price—from $25 to 
$200 per computer. Such a switch is 
ideal for two to four PCs in the same 
area that need occasional access to a 
peripheral. A single switch seldom is 
used to suppon more than seven com¬ 
puters. Line extenders can increase dis¬ 
tances and switches can be cascaded or 
daisy-chained to accommodate more 
devices (see figure 2). However, 
switching in a cascaded configuration is 
cumbersome because the user must set 
two switches to make tlie connection. 


188 


PC TECH JOURNAL 



























































































Print Master 

lets people share printers 



Get the most out of your 
expensive resources—your 
people, your computers and your 
printers—with Print Master by 
BayTech. Not only does it let your 
people and computers share all 
of your printers, its buffer keeps 
them working instead of waiting. 



Easy to set up, 
easy to use 

Initial setup is menu- 
prompted and allows you to 
configure Print Master to your 
application. You decide which 
ports are input and which are 
output. You also set such 
functions as baud rates, 
handshaking, timeout, how 
you select a printer, etc. 

After setup, you simply 
cable Print Master between your 
computers and printers, and 
you’re ready to go. BayTech’s 
Memory Resident Program lets 
your PC users select printers via 
function keys that correspond to 
a menu window. 



Print Master keeps 
everything running 

All users can send data 
simultaneously to Print Master’s 
dynamically allocated buffer, 
keeping your people and com¬ 
puters working. This first-in- 
first-out buffer also sends data 
to all printers simultaneously 
to keep them running at full 
capacity. The buffer size? A big 
512K that’s expandable to 
one megabyte. 

Eleven models with 
serial and parallel 

An advantage of Print 
Master is its flexibility: Any 
port can be a computer port 
or a printer port. Choose from 
eleven models with different 
combinations of serial and 
parallel ports. Print Master 
internally converts serial to 
parallel and vice versa on 
combination serial/parallel 
models. Six ports, $795. Eight 
ports, $895. Ten ports, $995. 

Circle No. 126 for Dealer, No. 129 for End-User. 


Non-buffered models from $339. 
GSA pricing available. 

Want details? 

Contact your dealer or 
Bay Technical Associates for 
information about Print Master 
and BayTech’s complete line of 
data communications products, 
proudly made in the U.S.A. 




Bay Technical Associates, Inc. 

Data Communications Products Division 
200 N Second St, RO. Box 387 
Bay Saint Louis, Mississippi 39520 
Telex 910-3334618 BAYTECH 
Phone 601-467-8231 or 
800 - 523-2702 


















Hard Locks 
for Soft Parts 


At Rainbow Technologies, we think protecting 
software developers’ investments is very serious 
business. That’s why we designed the first fully 
effective security solution for software running on 
PCs and other computers. 

Our family of virtually impenetrable Software 
Sentinel hardware keys provides the highest level of 
software protection the developer can get. While 
remaining invisible to the end user. 


Key Sentinel Family Features. 

Prohibits unauthorized use of software ° No need 
for copy protection □ Unlimited backup copies ° 
Virtually unbreakable ° Pocketsize key ° Trans¬ 
parent operation ° Transportable 


O Higher level language 
interfaces included 
O Runs under EXDS on 
PC/XT/AT and compatibles 
O Parallel port version only 

Software 

Sentinel'W. 

O C)esigned for workstations, 
supermicros and minicomputers 
O Serial port only (modem-type) 
O Algoridmi technique 
O We provide detailed interface 
specifications: De\'eloper 
creates a port driver 
O Interf^ requirements; 25 pin 
DB25PorDB25S; 
RS232/RS422/RS423 
O Only signals used: DTR St RTS 
from computer; signal ground; 
DSR or optional tX2D from 
Software &ntinei-W or external 
device. TXD, RXD, CTS, RI 
passed through. 

Gall For Softu^are Sentinel 
Evaluation Kit Pricing. 


Software 

Sentinel. 

O Runs under EXDS and Xenix, 
on IBM PC/XT/AT and 
compatibles 
O Algorithm technique 
(Never a fixed response) 

O Serial or parallel port version 
O Minimal implementation effort 
O Higher level language 
interfaces included 
O 100 times faster than fixed- 
response devices (1ms) 


O For developers who want to 
customize or protect multiple 
pack^es with one device 
O 126 bytes of non-volatile 
memory that is propammed 
before dbipment of software 
O We supply a unique 
programming achkpter for 
programming the unit 


RAINBOW TECHNOLOGIES 


18011-A MITCHELL SOUTH 

(714) 261-0228 TELEX: 386078 


IRVINE. CA 92714 USA 
FAX; (714) 261-0260 


CIRCLE NO. 157 ON READER SERVICE CARD 


LANALTERNMVES 

The most common mechanical 
switches are two-way, three-way, four¬ 
way, and cross-matrix. The two-way 
switch connects two computers to one 
peripheral; the three-way, three com¬ 
puters to one peripheral; and the four¬ 
way, four computers to one peripheral. 
The cross-matrix switch connects two 
peripherals and two computers, alter¬ 
nating the peripherals between the 
computers at die turn of the switch. 

The terminology used to identify 
these switches is not always consistent. 
A two-way switch is often called an AB 
or an ABC switch, with A and B the 
computer inputs and C the peripheral 
output. A three-way switch is also 
called an ABC or ABCD switch, and a 
four-way, an ABCD or ABCDE. 

Mechanical switches are reliable 
and easy to use and install, requiring 
little more than simply plugging them 
in. Because other users share the pe¬ 
ripheral, the main adjustment with a 
mechanical switch is resetting all the 
peripheral’s features to the user’s de¬ 
sired defaults before use. For example, 
sending a form feed at the beginning 
of each job ensures that a printer will 
begin printing at the top of a new 
page. Many applications allow the user 
to send a printer set-up string before 
each print job. Alternatively, the user 
can create a short program to send 
control codes to the printer. 

The bare-bones simplicity of the 
typical mechanical switch makes it 
more flexible than many of its elec¬ 
tronic cousins. Mechanical switches are 
not affected by the load on the end of 
the line; and their connections are in¬ 
distinguishable from cabled connec¬ 
tions, except that they can be broken 
by the flip of a switch. Like direct-cable 
connections, the number of signaling 
lines supported is important; not all 
switches support the full 25 lines on a 
DB-25 connector. For the same reason, 
some electronic switches do not allow 
modems or plotters to be shared. 

With mechanical switches, only a 
few devices can be switched, and all 
switching is manual, which can be a 
problem when the computers, periph¬ 
eral devices, and/or switches are in dif¬ 
ferent rooms. Changing positions on 
the switch also may generate a small 
amount of noise on the line, which can 
transmit to the device and result in a 
garbled first line of output—another 
good reason to insert a form feed be¬ 
fore any output on a printer. 

ELECTRONIC CHOICES 

Electronic switches solve some of the 
problems associated with mechanical 


190 


PC TECH JOURNAL 




SEIDL 

VERSION 

MANAGER 



Larger configurations can be created by daisy-chaining multiple switches. In the 
configuration illustrated here, a 4-to-l switch is fed into a 4-to-2 switch. 


switches, however, daisy chaining does 
not complicate die switching, because 
it is automatic. However, a service pri¬ 
ority is implicit in daisy chaining—the 
more switches a computer must tra¬ 
verse, die lower its priority. 

Electronic switches are much more 
likely than mechanical switches to offer 
special features such as buffering, ex¬ 
tended-distance cabling, programmable 
control, remote programming, and 
multiple concurrent users. By support¬ 
ing features such as these, a periph¬ 
eral-sharing switch moves closer to 
being a general-purpose switch. 

Buffering, which holds print data 
in a switch’s internal memory, can 
speed PC applications by allowing a 
new print job to be accepted while the 
previous job continues to print. Al¬ 
though inserting a stand-alone buffer 
between the switch and the printer is 


switches. When an electronic switch 
senses activity on one of its input ports, 
it automatically connects the computer 
attached to that port to an available 
printer (or other peripheral). After a 
period of inactivity on the port, the 
switch breaks the connection, thereby 
freeing the device for input from an¬ 
other port. Some products allow the 
added convenience of setting the time¬ 
out period individually for each port. 

Although electronic switches have 
more capacity than do mechanical 
switches, an electronic switch that can 
handle 16 devices, including computers 
and peqpherals, is considered large, 
although Giltronix does make the EZ- 
Queue 3000 switch with up to 24 serial 
inputs and two parallel outputs. As with 
mechanical switches, daisy-chaining can 
increase the number of ports served 
(see figure 2). Unlike mechanical 


RECONSTRUCT any 
VERSION of a SOFTWARE 
product AUTOMATICALLY. 

^Archive Database 

tracks all source code revisions 
as well as annotative comments. 

^Audit Trail Report 

provides user specified in¬ 
formation on any aspect of a 
project’s development. 

ir Revision Branching 

allows any number of revisions 
to be created from an existing 
revision. 

icText Compression 

optionally reduces disk storage 
requirements. 

irMenu Driven Shell 

makes SVM easy to use. 

★ Price: $ 299.95 + $ 5.00 p&h. 


SEIDL 

MAKE 

UTILITY 


NOT just ANOTHER COPY 
of the UNIX MAKE. 

★ Structured Language to 

describe dependencies in a clear, 
concise and portable manner. 

icRich Command Set 

includes parameterized macros, 
variables, if-then-else, iteration, 
wild cards, macro libraries, 
interactive statements, environ¬ 
ment access and much more ! 

ir Intelligent Analysis 

algorithm handles nested include 
files, library dependencies, and 
performs consistency tests to 
detect errors that other makes 
would blindly ignore. 

★ Price: $ 99.95 + $ 3.50 p&h. 

CALL TODAY 

1-313-662-8086 

Visa/MC/COD Accepted 
Dealer Inquiries Invited 

SEIDL COMPUTER ENGINEERING 

3106 Hilltop Dr., Ann Arbor, MI 48103 


SEPTEMBER 1987 


CIRCLE NO. 198 ON READER SERVICE CARD 

191 

































































































































LANALTERNMVES 


TABLE 1; RS- 2 32 Pin Descriptions 


CONNECTOR PIN NUMBERS 

DB-25 (XT, PS/2) DB-9 (AT) 

NAME 

DESCRIPTION 

2 

2 

TD, SD 

Transmitted data 

3 

3 

RD 

Received data 

4 

7 

RTS 

Request to send 

5 

8 

CTS 

Clear to send 

6 

6 

DSR 

Data set ready 

7 

5 

SG 

Signal ground 

8 

1 

CD, RLSD 

Carrier detect 

20 

4 

DTR 

Data terminal ready 

22 

9 

RI 

Ring indicator 


Two RS-2 32 serial connectors are used on PCs; the DB-25 is considered the stan¬ 
dard connector; DB-9 is used by IBM only on the AT serial expansion adapter. 


easy and sometimes more economical, 
a stand-alone buffer would not permit 
multiple simultaneous inputs, as buf¬ 
fered switches typically do. 

However, buffering is a mixed 
blessing; it can cause the failure of 
direct-wired file-transfer applications, 
such as BLAST from Communications 
Research Group or EasyLAN from 
Server Technology. Because buffered 
switches hold information in memory, 
machine-to-machine transfer times are 
too long and unpredictable for these 
applications, which have tight timing 
requirements to increase efficiency. 

A buffer can be confusing when 
used with printer queuing software. 

The DOS PRINT command, for exam¬ 
ple, displays the queue of files waiting 
to be printed, but cannot identify files 
already printed and still in the buffer. 

A command such as PRINT/T, which 
terminates printing, does not affect files 
already buffered for printing. 

Some electronic switches provide 
extended-distance cabling by condition¬ 
ing the signal internally, which permits 
greater distances between computers 
and printers. A stand-alone line driver 
also can be used to extend distances; 
sometimes called an interface extender, 
this is a signal-conditioning device and 
is typically housed in a small box. 

Many electronic switches also can 
be programmed on a port-by-port basis 
for communications parameters, printer 
set-up strings, and baud rates. With 
mechanical switches, these parameters 
are typically set at each computer using 
applications software or special pro¬ 
grams. Most programmable switches 
also offer remote programming, allow¬ 
ing the user to program the switch 
from an attached PC or terminal. 

Some switches can handle input 
from multiple concurrent users, hold¬ 
ing the input in buffer queues for later 


output. This ability also has a draw¬ 
back—queuing typically eliminates the 
possibility of bidirectional operation; 
the user might even be off-line when 
the peripheral responds. 

Various electronic switches go be¬ 
yond simple peripheral sharing by sup¬ 
porting file transfer, modem sharing, 
and mainframe and minicomputer 
links. File transfer is possible only if 
the switch supports two-way connec¬ 
tions. File-transfer software, such as 
BLAST or EasyLAN, typically runs in the 
computers. Most standard communica¬ 
tions programs, such as Headlands 
Communications’ pc-talk, DCA/Crosstalk 
Communications’ Crosstalk, and Hayes 
Microcomputers’ Smartcom also can 
operate on these switches. 

To support read/write devices such 
as modems, peripheral ports must be 
bidirectional. Modems also require 
more complicated forms of signaling 
than printers do. A mainframe or mini¬ 
computer can be treated as a standard 
read/write asynchronous device, or the 
switch can support or emulate particu¬ 
lar types of terminals. 

CABLE VAGARIES 

Cabling is likely to cause some diffi¬ 
culty when working with printer-shar¬ 
ing boxes. The user may—or may 
not—be able to use the current prin- 
ter-to-computer cable as a computer- 
to-switch or switch-to-printer cable. In 
fact, some switches require cable types 
not commonly available, such as an 
output (switch-to-printer) cable with 
36-pin Centronics connectors on both 
ends. Others require custom-made 
input (computer-to-switch) cables. In 
addition, switches often impose severe 
distance limitations: 15 feet for parallel 
devices and 50 feet for serial devices. 
However, various interface extenders 
can overcome these limitations. 


When cabling a switch, the user 
must first determine which types of 
connectors and interfaces are needed. 
Interface specifications may or may not 
include connectors. Popular interfaces 
are RS-232, RS-449, and Centronics. 

RS-232 and RS-449 are two-way in¬ 
terfaces—they can send and receive. 
RS-232 (or V.24) transmits information 
serially one bit at a time; distances typi¬ 
cally are limited to 50 feet and speeds 
to 19.2K baud. RS-449 also transmits 
serially, but supports longer transmis¬ 
sion distances and higher data rates. 

Centronics, the standard parallel 
interface, is a one-way device—it either 
sends or receives. It transfers data eight 
bits (one byte) at a time over eight 
transmit wires. Data rates are high, but 
distance is limited, with a recom¬ 
mended maximum of less than 20 feet. 

The most common cable connec¬ 
tors for the peripheral-sharing switches 
are DB-25, Centronics, and DB-9. The 
25-pin DB-25 is the de facto standard 
for the RS-232 interface and is used on 
the PC and Personal System/2 (male for 
the serial port and female for the paral¬ 
lel port). The 36-pin Centronics con¬ 
nector is popular for parallel interfaces 
and is used on most parallel printers. 
The 9-pin DB-9, one of the standard 
connectors for the RS-449, is also used 
for RS-232 on PC/AT-type machines. 

DTE AND DCE DIFFERENCES 

An RS-232 port is wired differently de¬ 
pending on whether it is on a terminal, 
including a computer, or on a commu¬ 
nications device such as a modem. Spe¬ 
cifically, data terminal equipment 
(DTE), typified here by a computer, is 
wired to transmit signals on pin 2 and 
receive signals on pin 3- For data com¬ 
munications equipment (DCE), typified 
by a modem, the wiring is exactly re¬ 
versed; pin 2 receives and pin 3 trans¬ 
mits. Most printers are wired as DTE. 

The RS-232 standard was designed 
for computer-to-modem communica¬ 
tions. Table 1 describes the RS-232 
lines and their pinouts for the standard 
(DB-25) and AT (DB-9) connectors. Re¬ 
quest to send (RTS) is a signal from tlie 
computer instructing the modem to go 
into transmit mode. Clear to send 
(CTS) is a signal from the modem to 
the computer verifying that the modem 
is in transmit mode. Data set ready 
(DSR) informs the computer that a 
connection has been made, and the 
modem is ready for use. Data terminal 
ready (DTR) informs the modem that 
the computer is ready to communicate. 
Received line-signal detector (RLSD) (or 
carrier detected) is a modem-to-com- 


192 


PC TECH JOURNAL 














Choose 370ur toorite. $475* 


We're not selling printers, but a new networking device that'll 
make it seem like you have an extra one. Or two or three. 

The Buffalo® SX can actually multiply the effectiveness 
of laser printers, dot matrix and daisy wheel printers, modems, 
and plotters. Anyone can send work to any printer—even when 
it's busy-and go back to work immediately. So it can save you 
thousands of dollars on extra printers you don't buy. 

AQtlie right connections 

The Buffalo SX is an intelligent buffer, switcher and interface 
converter all in one. It allows several PC users to select any output 
device connected to the network. 

There are ten ports-five parallel and five serial. Five can handle 
either input or output. So you have lots of options. Seven 
PCs sharing three peripherals. Two PCs sharing eight peripherals. 
Or any combination between. 

But that's only the beginning. You can link more SXs together 
to share a set of peripherals with any number of PCs (of 
course, when you get up into the dozens, you might need 
another laser). 

Power windows & automatic transmission 

To set up the SX, just plug it in and define the ports using the 
switches and software provided. Concise documentation tells you 
how. If you have a question, call our toll-free support line. 

When someone's ready to 
print, they simply use the handy 
little menu that pops up on 
screen with the names you've 
chosen. Call your printers 
Martha, Chatterbox, Relic, 
whatever. 

The SX does the rest, 
it handles interface con¬ 
versions, making parallel 
and serial machines 


work together. Yes, it even lets IBM® and Macintosh® PCs 
share a laser with no fiddling. And PCs can exchange files with 
communications software. 

Best of all, it stores print jobs in its large buffer and feeds data 
to the printers automatically. So people can use their computers 
within seconds. ("Large" means a standard 256K memory, 
expandable to one full megabyte.) 

Free software bonus 

Order now and receive $100 worth of productivity tools free: 

O HyperKey™ Keyboard Enhancer-increases speed and 
accuracy dramatically. Instant on-off for repeat keys! 

O HyperDrive™ Disk Caching-makes applications run 3-5 
times as fast. Fully utilizes Above™ Board memory. 

O Print Booster™ for 1 -2-3®—frees your PC about four times 
faster when printing graphs. 

iUl you stand to lose are long coffee breaks 

If you've tried a printer buffer, you know how limited most are. 
The SX is different. It's the slickest productivity booster this side 
of a $10,000 LAN. It's so dependable, it comes with a full one-year 
warranty. Plus this money-back guarantee: 

Order a Buffalo SX. Try it for 45 days. If you can part with it, send 
it back for an immediate refund. No questions asked. And you 
can keep the productivity software. 

We're certain you won't give 
it up once you've tried it. We 
think you'll add more. Ask about 
our other low-cost buffer/ 
switchers too. There's one for 
every application imaginable. 
Call now. Use Visa, 
MasterCard or American 
Express. You'll save hours 
of frustration. Plus the cost 
of another laser! 


Just one of dozens of network configurations possible with the versatile SX. 



Buffalo Products, 859 Cowan Road, Burlingame, CA 94010 (800) 345-2356; In California (800) 543-2356 

CIRCLE 106 ON READER SERVICE CARD 

ffmrua 


*This special direct introductory price will change without notice after the first 5,000 Buffalo boxes are shipped. You must mention this code number to qualify: PCT9 

©1987 Buffalo Products. Buffalo is a registered trademark of Melco, Inc. HyperKey and HyperDrive are trademarks of HyperWare. Print Booster is a trademark of Buffalo Products. IBM, Macintosh and 1-2-3 are registered trademarks of International Business 
Machines, Apple Computer and Lotus Development. Above is a trademark of Intel. Logotypes shown above are trademarks of their respective manufacturers. 






















Microsoft Lattice TurboC Aztec Computer Innovation Mark Williams TurboC Unix DOS Xenix TurboC Novell VMS Macintosh Microport TilfbO C Fox 10-NET 


1 


Microsoft Lattice TurbO C Aztec Computer Innovation Mark Williams TurbO C 

ISN’T IT A PITY... i 



Everydiii^ Isn’t As | 
Accommodating As I 
c^tree V r-tree " J 

FILE HANDLER REPORT GENERATOR w 


Performance and Portability 

For all the time you devote to developing 
your new programs, doesn't it moke sense to 
insure they perform like lightning and con be 
ported with ease? 

c-tree: Multi-Key ISAM Functions 
For Single User, Network, ft Multi 
Tasking Systems 

Based on the most advanced Tree routines 
available today, c-'bree gives you un¬ 
matched keyed file accessing performance and 
complete C Source Code. Thousands of profes¬ 
sional C programmers are already enjoying 
c-tree's royalty-free benefits, outstanding 
performance, and unparalleled portability. 

Only FairOom provides single and multi-user 
capabilities in one source code package, 
including locking routines for Unix, Xenix, and 
DOS 3.1., for one low price! In addition, 
c-tree supports fixed and variable record 
length data files; fixed and variable length key 
values with key compression; multiple indices 
in a single index file; and automatic sharing of 
file descriptors. 

r-tree: Multi-Nie Report Generator 
r-tree builds on the power of c-feree 
to provide sophisticated, multi-line reports. 
Information spanning multiple files may be 
used for display purposes or to direct record 
selection. You can develop new reports or 
change existing reports without programming 
or recompiling and can use any text editor to 


o 

create or modify r-tree report scripts § 

including the complete report layout. At your % 
option, end users may even modify the report 
scripts you provide. ^ 

Unlimited Virtual Fields; Automatic nie ® 

TTaversol h 

r-t;ree report scripts can define any number ^ 
of virtual fields based on complexcomputational o 

expressions involving application defined data O 

objects and other virtual fields. In addition, ^ 

r-t;ree automatically computes values S. 

based on the MAX, MIN, SUM, FRQ, or AVG of o 
valuesspread overmultiple records, r-tree q 

even lets you nest these computational func- § 
tions, causing files from different logical levels -o 
to be automatically traversed. & 


Unlike otherreport generators, r-treeallows 
you to distribute executable code capable of 
producing new reports or changing existing 
reports without royalty payments, provided the 
code is tied to an application. Your complete 
source code also includes the report script 
interpreter and compiler. 

How To Order 

Put FairOom leadership in programmers utilities 
to work for you. Order c-tree today for 
$395 or r-tree for $295. (When ordered 
together, r-tree is only $255). For VISA, 
MasterOard and O.O.D. orders, call 314/445- 
6833. Fore-tree benchmark comparisons, 
write FairOom, 4006 West Broadway, Oolum- 
bia, MO 65203. 


3 



o 


c 

3 , 

X 



Complete C Source Code & No Royalties! 

Xenix is a registered trademark of Microsoft Corp. 



3 


X 


13N-01. xod Q oqjni lJ 0 d 0 J 0 !|/M psojuioei/M si/^A II^aon 0 oqjni Xjuay SOQ xran 


CIRCLE NO. 119 ON READER SERVICE CARD 


IMAimNMVES 

puter signal indicating that the local 
modem is receiving an appropriate sig¬ 
nal from the remote modem. 

When a DCE port is connected to 
a DTE port, a straight-through cable 
can connect the identically numbered 
pins of each conneaor attached to each 
end of the cable. When two like ports 
are connected (DTE to DTE or DCE to 
DCE), a null-modem cable, or cross 
cable, must be used; this is normally 
the case when connecting a computer 
to a printer. A null-modem cable usu¬ 
ally crosses not only pins 2 and 3, but 
also pins 4 and 5 (RTS and CTS) and 
pins 6 and 20 (DSR and DTR), as 
shown in figure 3. 

One common problem in setting 
up switches is using the wrong cable 
for the DTE/DCE configuration. To 
complicate matters, manufacturers do 
not always conform to the RS-232 stan¬ 
dard when wiring the RS-232 ports. 
However, most manufacturers do docu¬ 
ment their use of the connector. 

Mechanical switches act as a 
straight cable; their ports need not be 
configured as DTE or DCE, but the 
cables must be compatible with the 
device on the other end. One common 
mistake is to connea the computer to 
the switch with a cross cable, and then 
also use a cross cable to connea the 
switch to the peripheral. The net result 
is a straight-through connection. 

Ports on some electronic switches 
are fixed as DCE or DTE; on others 
they can be configured. They must ei¬ 
ther conform to the existing cable or 
the cable must be replaced or rewired 
to conform to the ports. 

CONTROLLING THE FLOW 

Flow control, or handshaking, prevents 
one device from sending data faster 
than another device can handle the 
data. Parallel interfaces typically use 
only one kind of flow control. If the 
conneaors are correa, the parallel 
interface probably will work. 

For RS-232 interfaces, the two pop¬ 
ular protocols are Ready/Busy and 
XON/XOFF, which can be used sepa¬ 
rately or together. Each protocol dso 
includes variants. Almost all printers 
use Ready/Busy exclusively, also called 
hardware handshaking, or RTS/CTS. 
This protocol is built into the hardware 
of most RS-232 interfaces and can be 
used for both computer-to-switch and 
switch-to-peripheral flow control. 

In the computer-to-switch control, 
the switch monitors the RTS pins on its 
input ports, each of which is conneaed 
to an RTS pin on the computer port. 
The computer raises the voltage on the 


194 


PC TECH JOURNAL 



When two data terminal equipment (DTE) units are connected, a null-modem 
cable allows them to communicate by transposing the data and handshake lines. 


RTS when it wants to send, and then 
sends the data when the switch con¬ 
nects and raises the CTS. If the switch 
does not raise the CTS, the computer 
cannot send. When the computer drops 
the RTS, the switch begins its time-out 
period. If this period lasts long enough, 
the switch breaks the connection. 

In the switch-to-peripheral control, 
the peripheral raises the voltage on the 
CTS, which tells the switch it can start 
sending. When the voltage on the CTS 
falls, the switch is unable to send. In 
some equipment, DSR and DTR are 
combined with CTS. 

XON/XOFF, also called software 
flow control, typically is used with 
graphics peripherals, such as plotters, 
and with communications programs 
and modems. Like Ready/Busy, XON/ 
XOFF can control the flow from both 
the computer to the switch and switch 
to the peripheral. At any time, either 
side of the connection can send an 
XON character requesting more data or 
an XOFF character stopping the data 
flow. XON is DCl, or ASCII code 17; 
XOFF is DC2, or ASCII code 18. 

Although mechanical switches are 
transparent to flow control, the applica¬ 
tion and the peripheral must use the 
same kind of flow control. With elec¬ 
tronic switches, the switch’s input-port 
flow control must agree with the appli¬ 
cation, and the output-port flow must 
agree with the peripheral. The input 


port usually is reconfigured dynami¬ 
cally by sending a configuration string 
to the switch from the input port. 

For a serial printer, the user must 
set the computer and the printer for 
the baud rate (1,200, 2,400, 4,800, or 
9,600 baud), character length (seven- 
or eight-bit data word), stop bits (one 
or two), and parity (none, odd, or 
even). Mechanical switches are trans¬ 
parent to these parameters, but elec¬ 
tronic switches may have to be config¬ 
ured port by port, unless the user is 
satisfied with the existing defaults. 

Some switches can adjust automatically 
to any baud rate on an input port. The 
user still must set the baud rates for 
the output ports, as well as other pa¬ 
rameters on the input and output ports. 

SWITCHING SOFTWARE 

Mechanical switches require little or no 
new software in the PC, except for re¬ 
setting printer defaults and sending 
form feeds. Electronic switches, with 
their more extensive configuration re¬ 
quirements, come with a configuration 
program that allows the user to set 
communications parameters, DCE/DTE, 
baud rates, and flow-control types. 

For control-code sequences that 
are sent repetitively to a switch or 
printer, the user can create files con¬ 
taining those sequences and then 
“print” them at appropriate times. For 
switches that support two-way commu- 


Read what they’re saying about this 
popular program for prototyping and 
demo-making: 

winner right out of the start¬ 
ing gate. After you use DEMO 
once, you’ll wonder how you got 
along without it.” 

—PC Magazine 

“Eveiybody who writes soft¬ 
ware, either commercially or for 
in-house applications, should 
immediately order a copy. Period. 
No exceptions.” 

—Soft • letter 

Product of the Month 

—PC Tech Journal 

Thousands of developers and most 
of the largest and best known software 
companies are using this program. 

You can, too. Act now! 

The perfect companion to the Demo 
Program. The Tutorial helps you learn 
the ins and outs of its basic and ad¬ 
vanced features. Complete with a 96 
page manual containing step-by-step 
instructions, diskette, and function 
key template. 




, CX\ lU lUI lULIUI I 




Use 800-number for orders only. /*/>>•/» 

Questions, special shipping, etc., call 617-332-2240. 
No Purchase Orders. Massachusetts residents add 5% 
sales tax. Outside of the U.S.A., add $15.00. 

Requires 256K IBM PC/Compatible, DOS 2.0 or later. 
Supports Monochrome, Color Graphics, and EGA 
Adapters (text mode only). The Tutorial requires the 
Demo Program. 



SOFTWARE 
GARDEN, INC. 

Dept. T-3 

P.O. Box 373, Newton Highlands, MA 02161 

CIRCLE NO. 142 ON READER SERVICE CARD 


SEPTEMBER 1987 


195 










LAN ALTERNATIVES 


nications (PC-to-PC or PC-to-modem), 
the user can invoke file-transfer utili¬ 
ties, communications programs, and 
RS-232 LAN software. File-transfer utili¬ 
ties, such as BLAST, work between PCs 
and other types of computers. Commu¬ 
nications programs, such as Crosstalk 
and Smartcom, allow PCs to emulate 
various types of terminals. 

MECHANICAL VENDORS 

The simplicity of mechanical switches 
makes it difficult for the many switch 
manufacturers to distinguish the merits 


of their individual products. Mail-order 
houses add to the confusion by provid¬ 
ing good and varied selections. The 
accompanying sidebar is but a sam¬ 
pling of switch vendors. 

In selecting a particular switch, the 
user must ensure that it supports 
enough lines for the particular need. 
Switches that support all 25 lines can 
be used for botli parallel and serial 
connections. Less expensive switches, 
with fewer lines, can be used on serial 
connections. A serial switch should 
work with most equipment if it sup¬ 


ports pins 1 through 8 and pins 20 and 
22. The following three companies are 
among those who manufacture me¬ 
chanical switches. 

Black Box Corporation. Black Box sells 
20 models of two-way switches, 19 
models of four-way switches, and 19 
models of cross-matrix switches. Each 
model is distinguished by the kinds of 
connectors used and in some cases by 
die number of pins switched on the 
connector—for example 4, 12, or 25 
pins on the DB-25 connector. 

Global Computer Supplies. Global sells 
its PC Data Switch in three versions: 
RS-232, parallel using the DB-25 con¬ 
nector, and parallel using the Centron¬ 
ics connector. RS-232 and parallel mod¬ 
els include two-way, three-way, four¬ 
way, and cross-matrix switches. The 
RS-232 versions include one two-way 
model that switches 16 of the 25 pins, 
and another that switches all 25 pins. 
Inmac. This company offers a line of 
switches called Clear Signal Plus. With 
a two-year warranty (others offer one 
year), full 25-pin switching, gold elec¬ 
trical contacts, and an optional lock, the 
Clear Signal Plus line targets the high 
end of diis low-end market. 

ELECTRONIC TESTING 

Although not as plentiful as mechanical 
switches, electronic switches can be 
obtained from a variety of vendors and 
mail-order houses (see sidebar). Buffer¬ 
ing and switching capabilities add com¬ 
plexity to their design and operation. A 
sampling of commonly available elec¬ 
tronic switches was tested for this arti¬ 
cle; virtually all problems that were 
encountered during this testing were 
caused by incorrectly wired cables, 
underscoring the importance of check¬ 
ing die configuration. 

Digital Products. The NetCommander is 
an any-to-any switch offering not only 
printer sharing, but file transfer, local 
electronic mail, and data collection. It 
typically uses only RS-232 inputs; out¬ 
puts can be serial or parallel. Models 
range from 4 to 16 ports. Serial-to- 
parallel conversion is automatic. Each 
output port is assigned a unique name; 
ports are selected by sending a control 
charaaer string to the switch. 

File transfer is accomplished by 
disabling buffering for a given input. 
The buffering can be disabled automat¬ 
ically using batch files, which Digital 
Products’ auto-install program creates 
for EasylAN. The'NetCommander also 
can be daisy-chained. For setting baud 
rates on the 16-port model, pons are 
grouped into three groups of four, one 
group of two, and two independent 


797 Gatehouse Ln, PO Box 26195, Columbus, Ohio 43226-0195, 614/431-2667 

CIRCLE NO. 152 ON READER.SERVICE CARD 



SLATffi 

support business 


VOUflAWUCATION 


The SLATE System comes complete / ^ 1 

with C Libraries for most compilers, ‘ / 

the SLATE Manual, a database of many 

common printers, and ROYALTY FREE support tools to let you 

or your customers add new printers to the database. The 

complete SLATE System is only $299.00, less than the cost of 

developing one more driver. 

We would be happy to send you additional information about the 
SLATE System. However, to KEEP OUT with no further delay 
or hassle, call us now. We will answer your questions and get 
you a SLATE System immediately with a risk free 30 day return 
policy. When you call, ask about our combination offer with 
the SPRINT Text Processor for $349.00. 

^ The 

Symmetry 

Group 


196 


PC TECH JOURNAL 










^ur logical choice for printer & data sharing. 


It's your choice. 

Now you can give 
every PC user in your 
office freedom of choice: 
the choice to send their 
output to any 
printer — 
serial or 
parallel — 
anytime. 

And 
all you 
need is 
The - 
Logical 
Connection 

Instant switching. 

Just "pop-up" the 
memory resident 
switching menu, 
cursor-point to the 
device you want to 
switch to, and press ENTER. 

The Logical Connection handles 
all the print spooling, protocols 
and parallel/serial conversion 
automatically. 

Preset config¬ 
urations. 

10 Preset 
configura¬ 
tions give 
multiple 

computers unlimited "switch and 
share" access to printers, plotters 
and modems — and each other. 

Just cursor-point to a graphic 
"picture" of the configuration you 
want and download it with a 
couple of keystrokes, using any 


mm 


EDITOR’S 

CHOICE 


Version 3.0. 


IBM-PC™ or compatible. If you 
need a custom configuration, you 
can easily modify one of the 
presets — or create your own. 

Why network if you don't 
need to? 

For peripheral sharing 


In April, 1987 PC Magazine 
named The Logical 
Connection "Editor's Choice 
among all printer sharing 
devices reviewed." Author 
Winn L. Rosch called it 
more than logical — maybe 


inspired!" 


applica¬ 
tions The 
Logical 

Connection can 
outperform a 
LAN, right out 
of the box — at 
a far lower cost. 

The Logical Connection lets 
minicomputers and mainframes 
share peripherals with PCs. Or, 
let many devices share a single 
expensive modem connection. 

And for really big 
applications, you can "daisy- 
chain" up to 45 Logical 

Connection 
boxes 
together, 
up to 3/4 
of a mile 
apart. 


An easy choice. 

The Logical Connection is easy 
to set up and easy to use. Best of 
all, it's easy on the pocketbook. For 


price per¬ 
formance 
and ease 
of use, 
nothing 
else 
even 

comes close. 

So if you're looking for the 
best way to share your valuable 
computers and peripherals, 
there's only one logical choice. 
Get the logical connection 
today. 

For the name of your nearest 
dealer, or to order direct, call 
Fifth Generation Systems at 

1-800-225-2775. 


Fifth Generation 


SYSTEMS, INC. 

Innovative Products Using Today's Technology 

11200 Industriplex Blvd., Baton Rouge, LA 70809 
SALES: 

2691 Richter Ave., Suite 107, Irvine, CA 92714 
(800) 225-2775 • (714) 553-0111 


•The Logical Connection is a trademark of Fifth Generation Systems. Inc. • IBM-PC is a trademark of International Business Machines. Inc. 
•This product is in no way associated with or has originated in Fisher Scientific or Allied Corporation. 


CIRCLE NO. 225 ON READER SERVICE CARD 
























































































LANAIIERMnVES 

ports. Eight settings are offered from 
110 baud to 19.2K baud. Menu-driven 
utilities from any PC or terminal can 
configure each port as DCE or DTE. 
Fifdi Generatioii Systems. The Logical 
Connection from Fifth Generation can 
share printers, plotters, and modems. It 
is an any^to-any switch with eight ports: 
four serial, two parallel in, and two 
parallel out. It also provides automatic 
parallel-to-serial and serial-to-parallel 
conversion on all channels and buffer¬ 
ing of 256KB or 512KB. 


All ports are configured indepen- 
dendy using software. Because no 
switches or jumpers are used, the user 
never needs to open the box. File 
transfer is possible using the local 
mode of a communications program. 
According to company information, 
units can be daisy-chained to connect 
up to 315 ports. The switch also per¬ 
mits multiple simultaneous inputs. 

The box has a reset button on the 
side and two panel indicators: run, 
which lights during normal operation 


and flashes when the buffer is full; and 
status, which flashes when the Logical 
Connection receives a switching com¬ 
mand. Although the Logical Connection 
is one of the more sophisticated 
switches, it is surprisingly small; the 
box measures about l4y2-by-5 inches 
and is only y4-inch thick. 

The Logical Connection is some¬ 
what more complicated to configure 
than the N-to-N switches, but offers 
more flexibility. The user makes all 
configurations through a program run- 




Periphe^-sha^g ^tches and'their | ^ ‘ ^ ^ ^ ^ 

no means a compr^ensive list: ^; ^cle 

Black Box Corporation _ serid-tQ.:paraU4k?^f^ i^. ‘ 








Blae^ Box (Corporation '■ , serial-^o-^|rall,4‘,|wrft!difs, f^. 

P.O.Box 12800 ; ' 

Pittsbargb. PA 15241 : \'■ 

cmoLES^oNRE^ERSEimi^^c^ Plaiwie^} W 

Product offerings: Two-way and four- 

way mechanical switches, Multi-Port orci;^ smsm card 

Spooler n electronic switch, RS-232 / Prcrfua^ 'pIfetlftjg^S^^ 

patch boxes, cross-matrix switch mechanic i f 

IP ' , 

San Jose, CA 95121 >, 246B Au^mw^‘ 

4081270-4500 Santa Cl^a, C^^5954 . 

ORCIE ^2 ON READERSi^CB OfflDi ^ ' 408if^%197Q'¥ff^" ; - , 

Produa offerings: Clustered Print Qnmac hm 19 diffident fotati 

Sharer parallel electronic unbuffered across 

switch and parallel line extender cmciE sBso^tRlBADp kBRvic^ 

Ifrodna^^^ 

Digital Products, Inc, ^ Parafler^^ffiart; S^jch, Mf-to^ 

108 Water Street , Smart Switchi^ Qui^ iPateh, XJt 

Watertown, MA 02172' ■“* 'pa#B^r ' ' .X ’ 

6171924-1680,8(X)/243-2533 - /; 

CIRCLETS ON READER ^RVICK CABO ' 

Produa offering: NRCoBuqgnder , (iMi^ 

electronic aerial/parallel s^tch f 1031 fi. '‘Gut^J,. ^ < 


Santa (Cb^pt, CA0d54 . 

' 408/72ftl97Qvfj:- v'X' 4./' 

(Mnac has 19 iotations* - 


0004 aaSiCM ^AADpaERraCE CARD 

^ Prcdua^pfiertoga;,^ae9r 

, Smart Switch, ^i^ J^eli, Univer^ 


Fifth Generation Systeifis Sunttym^ CA 940 

11200 rndustripkx Bhtd. ' ? 408r7^0-iii2 't ■' 

Baton Rot^e,IA 70809 - &)0/621^54 '^ 

ORCfLE on reader SERVICE CARD Prodn^V0ff<37il^: I 

Produa offerings: IxDgitcal Conhettlon i the fea|a1^an^|l - 
any-to-any serial/parallel switch : 




• t _. 


.. 4m$^^7, ^0m:@p42 

Produa Q&rixigs: The Sierra Ex- 
' change serial electronic sWtehes 

\mmumdiCA9^l4 - ., 

"f4l5M$A0O9O'y^‘\. 

' ^^OE^''ONREAP]^\SERV^^^ ^ ^ 

lel electronic switches 

" x-i ^'' 'spl ■?: 

' tSumifvale, CA^^4()86 I 
■ 408/738-8377, 8^9/8^1(515 
' ^ w nsi^ ' X' 


Gandatf Data, Inc, 

1020 S. Noel Avenue > 

Wheeling, IL 60090 
3121541-6060, 8001426-6336 

CIRCLE 335 ON READER SEEVICE CARD 

Produa offerings: Dovtrex data-Over- 
voice system^ . . 


CA^1311 




' \^e$tem Telematic, Inc, (WTI) ^ ^ 
; InHm ^ 92718^ ^ ^ 

: CIRCU 3A|S SI^CB CARD 

^ Swit^ sei^pat^el, ele<^ ^ 


198 


PC TECH JOURNAL 







US at 


The results are in. 

BATRAM outperforms disk drives! 

rhis ultra-high performance IBM PC/XT/AT 
:ompatible mass storage device combines the speed 
3 f RAM, the safety of long term battery backup and 
■he security of sophisticated ECC (Error Correction 
Coding) to give you extremely fast, safe, and reliable 
storage. And now with exclusive FTS/Caching 
software, additional speed and protection are added 
to your local area network, 

BATRAM IS 700% FASTER THANA 
DISKDRIVE 

tour local area network applications, like spread¬ 
sheets, database management, and CAD/CAM, 
which are all disk intensive, benefit from BATRAM’s 
phenomenal speed. 

EXCLUSIVE FAULT 
TOLERANT/CACfflNG SOFTWARE 

FTS/Caching software speeds up your read/ write 

IBM PC/XT/AT are trademarks of International Business Machines Inc. 


requests by eliminating I/O bottlenecks. BATRAM 
does this by caching your most requested hard disk 
information, therefore allowing the server to access 
RAM memory rather than the disk drive. BATRAM 
can service these common requests faster than the 
disk drive, increasing network throughput. 

DATA INTEGRITY INSURED 

Since BATRAM also holds all network data writes, 
BATRAM adds Fault Tolerance to your network 
storage device. With BATRAM, and your latest 
network backup, data integrity is ensured even upon 
total failure of your network hard disk. 

BATTERIES PROTECT RAM MEMORY 

Power interruptions don’t phase BATRAM. Your 
important data is protected by BATRAM’s innovative 
two-week battery backup. These batteries are 
continually charged, delivering full power so your 
data is always safe. You can even unplug BATRAM 

CIRCLE 197 ON READER SERVICE CARD 


Spring '87 


without losing data for up to two weeks. BATRAM’s 
ECC is further assurance of your datas integrity. 

BATRAM IS TOUGH 

BATRAM’s rugged shock-mounted, no-moving-parts 
construction is built for use and abuse in tough 
environments. It is totally unaffected by the shake, 
rattle, and roll that render disks useless. 

NO WORRY MEMORY 

Call us now for the whole story on the industry’s 
fastest, safest, and most reliable storage device: 
BATRAM, the no-worry memory. Dealer inquiries 
welcome. Call (408) 729-6700. 

Santa Clara 
Systems, Inc. 

A Novell Company 
I6l0 Berryessa Rd., San Jose, CA 95133 

(408)729-6700/FAX (408)259-0778/TLX 176309 SCS SNJ 




LANALTERNMVES 

ning in the PC. To install the Logical 
Connection, the user first connects the 
PC serial port to the first serial port on 
the Logic^ Connection (port number 
0) using a cable provided by the manu¬ 
facturer. This connection is used to 
download the configuration information 
to the Logical Connection. 

Second, the user defines the physi¬ 
cal connections, assigning a name to 
each device, such as HP Laser or IBM 
AT, and then sets parameters for the 
serial ports, such as baud rate, hand¬ 
shaking protocol, and time-out. Parallel 


ports are simpler—the user is required 
to set no parameters, but merely sets 
the automatic form feed to yes or no 
and assigns a time-out. 

Third, the user defines logical con¬ 
nections—how ports will be paired— 
and downloads this configuration infor¬ 
mation to the switch. Because the con¬ 
figuration is stored in battery-backed 
RAM in the Logical Connection, the 
switch can be left unplugged for an 
extended period without having to re¬ 
configure. Finally, the user physically 
connects the devices. 


REQUIRED READING R)R AU 
IBM K SYSTEMS EXPERTS 


If you're a systems expert, microcomputer specialist, or MIS/ 
DP professional working with IBM PCs, you need the compre¬ 
hensive information PC TECH JOURNAL provides 13 times a year! 

It's the only magazine that provides you with the technical 
information to help you increase the performance of your 
multi-component system. It talks to systems experts and systems 
designers in the language you understand—about the appli¬ 
cations and products you have to know about! 

As part of your annual subscription to PC TECH JOURNAL, 
you'll receive the special PC TECH JOURNAL Directory issue pub¬ 
lished in November, the most comprehensive guide and index 
to the products in the PC marketplace and PC TECH JOURNAL'S 
coverage! 

Don't leave a gap in your required reading, subscribe to 
PC TECH JOURNAL now and save 50%! 


For faster service call Toll-Free 1 -800-852-5200 today! 



L. 


RO. Box2966-Boulder, CO 80322 

Send me PC TECH JOURNAL for: SAVE 50% I 

□ One year (13 issues) for $26.70. * 

□ Two years for $53.35. 

Savings based on annual single-copy price of $53.35. 

Mr./Mrs./Ms_^_ 

(please print full name) 

Company_^_ ■ ■ .-. 

Address __ ' - . - __ 

City__State_^_Zip_ 

□ Bill me □ Payment enclosed 

Add $6 per year for postage outside USA, US currency only. Please allow up to 60 
days for delivery of first issue. Annual Basic subscription price is $34.97. 4Z809 


Integrated Marketing Corporation. IMG 

offers two lines of N-to-N switches: the 
Auto-T-Switch and the Data Manager 
Plus 256. The Auto-T-Switch is available 
in a number of N-tb-N configurations: 
three-to-one, all serial; six-to-one, all 
serial; three-to-one, all parallel; six-to- 
one, all parallel; six-to-one with three 
serial in, three parallel in, and one se¬ 
rial out; and six-to-one with three serial 
in, three parallel in, and one parallel 
out. The three-to-one parallel switch 
was evaluated for this article. 

The Auto-T-Switch provides no in¬ 
ternal buffering and does not support 
multiple simultaneous inputs. On mod¬ 
els with both serial and parallel ports, 
the switch performs serial-to-parallel 
and parallel-to-serial conversion. 

Time-out is seleaable at 10, 20, 30, 
60, 120, or 300 seconds. Bidirectional 
data flow allows support for modems, 
plotters, and other PCs. The input de¬ 
vice must initiate port selection. For 
serial ports, the switch has an adjusta¬ 
ble baud rate, data bits, stop bits, and 
parity. It is also possible to configure 
each port individually. 

All configuration is accomplished 
using jumpers inside the box; no soft¬ 
ware is necessary. The Auto-T-Switch 
has no panel controls. Panel indicators 
include a power light, an on-line light, 
which indicates that the output device 
is available to the computer, and one 
input light for each port. 

Serial ports are DB-25 male for 
output and DB-25 female for input. 
Because all parallel ports are female 
Centronics, the switch end of the cable 
must be male Centronics for parallel 
input to the switch—this is the typical 
cable used for connecting a PC to a 
printer. For parallel output from the 
switch to the printer, the switch end is 
male Centronics. The printer used for 
testing also required a male Centronics 
connector (as do most IBM parallel 
printers). The required cable had to be 
custom-built because it was not avail¬ 
able commercially. 

The Data Manager Plus 256, also 
from IMC, is a five-to-one switch with 
256KB of standard buffering, expand¬ 
able to 1MB. It supports multiple si¬ 
multaneous inputs, and all ports are 
serial and unidirectional, interfaced 
through female DB25 connectors. The 
Data Manager Plus supports data rates 
up to 38.4K bits per second. Baud rate, 
data bits, stop bits, and parity are all 
adjustable by individual port through- 
switches inside the box. 

Using DIP switches, the Data Man¬ 
ager Plus can be hardware-configured 
optionally to send a form feed at the 


200 


PC TECH JOURNAL 








-^/Osvelopem of LANUnkwInti MultIUnk® Acfwancetl 

, - 35?^ Parkway Lane, AtlantaJiTOigia 30092 
3 TeT^4996147 SWUNK fi^^/263-6474 :. 


(F&f itfed^neawayou) C^IX: 800/451>L>NK In Qeoigta; 404/448- 


OEM/Jftt'l Sates: 404/263-1006 ResellersA/ARs: 404/448-5465 
vicB CARD Dealer inquiries Invited 





LAN ALTERNATIVES 


end of each job. It also can send the 
necessary characters to reset an HP 
LaserJet. Time-out is selectable at 15, 

30, 60, or 120 seconds. Units can be 
daisy-chained to connect as many as 25 
inputs to one output. 

Reliable Communications, Inc. The Si¬ 
erra Exchange from Reliable Communi¬ 
cations, Inc. is available in two N-to-N 
configurations: four-to-two (which was 
tested here), and five-to-one. All ports 
are RS-232 with female DB-25 connec¬ 
tors. Standard internal buffering is 
64KB, expandable to 2MB. The switch 
allows multiple simultaneous inputs. 

Like the IMG Data Manager Plus, 
the Sierra Exchange supports jumper- 
selectable data rates up to 38.4K bits 
per second, adjustable data bits, stop 
bits, and parity. Each port is configured 
individually using switches inside the 
box, and ports are unidirectional rather 
than bidirectional. 

A DIP switch inside the box sets a 
default output device for each input 
port; sending control codes to the 
switch changes this default. The Sierra 
optionally sends a form feed at the end 
of each print job; this feature is also 
selectable through DIP switches. 

The Sierra switch has a fixed 
time-out of five to eight seconds, just 
one panel control, and a reset button. 


Six status lights show which ports are 
active. A flashing light indicates a buffer 
overflow or framing error —errors in 
stop or start bits. Two lights indicate 
how much buffer memory is in use. 
Support Systems International. Support 
Systems offers the MultiSwitch II, 

Model AS-402, which is a four-to-two 
N-to-N switch, all parallel; all ports are 
female DB25. Internal buffering is 64, 
128, 256, or 512KB. Multiple simultane¬ 
ous inputs are not supported. 

The MultiSwitch offers extensive 
panel controls, including reset, which 
clears memory, tests the CPU, and re¬ 
sets options to defaults; pause printing, 
printer A/B, which changes the output 
device; page 1, which reprints from the 
beginning; and copies, for multiple 
copies. Some panel controls apply only 
when ASCII characters are sent through 
the switch, because they look for the 
form-feed character (FF, ASCII value 
12). These include pause top of form, 
which pauses at the top of the next 
page; up page, which starts printing 
one page after the pause point; down 
page, which starts printing one page 
before the pause point; and change the 
number of lines per page. 

Panel indicators include power; 
ready, indicating tlie MultiSwitch is 
ready; printer A selected; printer B se¬ 


lected; pause printing; pause top of 
form; pages in memory; printing page, 
which displays the number of charac¬ 
ters, pages, or copies to be printed; 
four channel lights, to indicate which 
input port is active; and busy, which 
indicates the MultiSwitch is receiving 
data. Both the printing-page and the 
pages-in-memory^ indicators are nu¬ 
meric displays. The printing-page indi¬ 
cator also shows the out-of-paper error 
message and briefly displays a status 
message when the automatic form-feed 
function is turned on or off. 

Printer codes control four func¬ 
tions: select printer A, select printer B, 
pause printing, and reset memory. The 
MultiSwitch also offers a memory test. 
Western Telematic, Inc. WTI’s Lasernet is 
an eight-to-two switch witli eight serial 
inputs, one serial output, and one par¬ 
allel output; a four-to-two switch is also 
available. Input connectors are all fe¬ 
male DB25; output connectors are one 
female DB25 and one female Centron¬ 
ics. Lasernet has a 256KB internal 
buffer and supports multiple simultane¬ 
ous inputs. WTI also offers two unbuff¬ 
ered models, PSU-41 and PSU-81. 
Serial-to-parallel conversion is per¬ 
formed internally. 

Unlike the other switches de¬ 
scribed in this article, all the input 



Nothing Should 
Come Between 
Mainframe Mag Tapes 
and Your dBASE or Lotus 
Except 



Telebyte Tape Drives 


TDX Mag 9-track 1/2" Tape Systems from 
Telebyte provide faster, error-free download¬ 
ing of mainframe data into your PC. You con¬ 
trol the start-stop tape drive either from the 
keyboard or with Telebyte’s exclusive Data- 
verter software for faster file transfer — the 
equivalent of a 720,000 bit/second datalink. 

Telebyte TDX tape drives are available at 
either 45 or 75 ips, feature dual density 
(800/1600 bpi) storage and back up process¬ 
ed files at 2 MB/minute (up to 10 times faster 
than other 9-track drive systems) as a bonus. 



Enter data into dBASE® and Lotus® with no 
user programming. You do it in two easy steps 
because Telebyte’s exclusive Dataverter runs 
under both DOS 2.0 and Xenix!" Dataverter 
will automatically convert packed, zoned and 
unsigned decimal field files, as well as labeled 
tapes, from EBCDIC to ASCII. The tape 
system is also supported by software lan¬ 
guages in your PC, including C, BASIC, 

Fortran, Cobol, etc. 

Only Telebyte offers such mainframe stand¬ 
ards of reliability and IBM-compatible tape drive 
quality for so little money. 


TECHNOLOGY, INC. 


GSA Contract Number GS00K86AGS5301 

1 - 800 - 835-3298 


Telebyte Technology, Inc. • 270 E. Pulaski Road • Greenlawn NY 11740 • (516) 423-3232 

dBASE' is a registered trademark of Ashton-Tate, Inc.; Lotus” is a registered trademark of Lotus Development Corporation: IBM- is a registered trademark of 
International Business Machine Corporation; Xenix'" is a registered trademark of Microsoft. 


CIRCLE NO. 155 ON READER SERVICE CARD 


PC TECH JOURNAL 











fS 

v> 


cteai^® 


We’ve got what you want. 

You want a menu system that 
will not get in your way—that 
runs with you, not against you— 
that lets you make the decisions 
about resource access, addi¬ 
tional password security, help 
screens, and graphic design. 
And you want it all without a lot 
of extra programming and 
design time. 

You want it fast and lean, flexi¬ 
ble and smart. You want power. 

You found it. The LAN Shell. 
Consider this sampling of Shell 
features: 

• Fastest screen refresh of any 
menu system on the market 

• Occupies only 9KB of RAM 

• Runs any combination of COM, 
EXE, and BAT files 

• Submenus up to six levels deep 

• Accepts replaceable DOS 
parameters to prompt for orig¬ 
inal input, validate contents, 
and pass input to a command 
line 

• Supports all major network 
standards 


LAN Shell customers are 
Fortune 500 firms and VARs 
selling to corporate accounts. 
This is what Shell users say 
about the product: 


“LAN Shell gives us the ability to 
make the network transparent. 
It’s the driving force in our 
relationship with our users. The 
Shell is our vehicle for telling 
users whatever they need to 
know, eliminating the need for 
training them on the network.” 
Tom Barry, Vice President, 

Wall Street Securities Firm 


“I love it and every one of our 
clients who have used it love it. 
It’s the most flexible menu gen¬ 
eration program that Eve seen. 
You can create a menu with 
whatever kind of visual appeal 
you want...very fast, very 
efficient.” 

Eric ,/. Pulaski, Vice President, 
Value Added Reseller Firm 


“LAN Shell offers another layer 
of security that we like...easy to 
edit commands.” 

Gre^ Scott, Network Manager, 
College of Business 


Call today to order your free 
LAN Shell demo—the full 
product with only the save 
feature removed. 

A Philosophy for Network 
Design 


LAN 

LAN Systems, Inc. 
599 Broadway 
11th Floor 
New York, NY 10012 
Telex: 705622 

(212) 431-8484 


LAN Shell is a trademark of LAN Systems, Inc. 


CIRCLE NO. 170 ON READER SERVICE CARD 




LANALTERNMVES 


ports for the Lasernet must have identi¬ 
cal configurations for baud rate, parity, 
and flow control; the output serial port 
is configured separately. Again unlike 
all of the others, the Lasernet’s configu¬ 
ration switches are conveniently located 
on the outside of the box available for 
a user’s easy access. 

The time-out is selectable at 250 
milliseconds, or 1, 5, or 15 seconds. 
Panel controls include clear, to clear 
switch memory; pause-, and TOP (top of 
form). Panel indicators include eight 
input indicators that show which port 
is active; wait, which indicates pause 
status; mem, which is off when the 
buffer is empty, blinks once when the 
buffer is 10 percent full, blinks twice 
when the buffer is 20 percent full, and 
so on; and rdy, which indicates the 
printer is connected and on-line. The 
Lasernet also offers a self test. 

The newer models, PSU-82C and 
PSU-42C, offer individual configuration 
of input ports, up to 2MB of internal 
buffering, automatic TOP, and an end- 
of-job string that resets the printer to 
the default parameters just as soon as a 
job has been completed. 

UNCLASSIFIED EQUIPMENT 

Several types of peripheral-sharing 
equipment do not fit neatly into either 


the N-to-N or any-to-any classification. 
Inmac offers the Quick Patch, a box 
with two rows of 16 RJ-11 (standard 
modular telephone) jacks on the front 
and 16 RS-232 ports on the back. The 
RS-232 devices remain plugged into the 
back of the box, and the user connects 
and disconnects them by moving RJ-11 
cords on the front of the box. 

Intra Computer sells a Delta 
three-way switch that connects any two 
of three serial devices. Por example, 
the user might connect a computer to 
a printer in one position, a computer 
to a modem in a second position, and 
the modem to the printer for printing 
from a remote location in a third posi¬ 
tion. The switch also has a position for 
no connection at all. 

Local telephone companies often 
lease data-over-voice-encoder (DOVE) 
systems, with the central unit and a 
data switch in the telephone company’s 
central office. This central-office LAN 
system duplicates tlie functionality of 
an any-to-any switch. 

Also called a data-voice modem 
(DVM), a DOVE is a multiplexer that 
allows voice and data signals to share a 
standard twisted-pair telephone wire. 
This wire is already in place for the 
telephone system in most companies. It 
is relatively easy to install compared 


with the coaxial cable or higher-grade 
data cabling often used for LANs. 

A DOVE modulates data onto two 
high-frequency carriers, one for send 
and one for receive. Voice-band signals 
(speech, dial tone, ring signals, and 
busy signals) are not affected. PBX and 
telephone central-office functions are 
also unaffected, because data signals 
are stripped off and sent to their desti¬ 
nations without passing through the 
PBX. Only the wire is shared (see fig¬ 
ure 4). Central units are usually rack¬ 
mounted, with channel cards fitting 
into a chassis. Each channel card can 
accommodate two to four channels. 

However, a DOVE lacks the speed 
of most LANs—DOVE speeds are typi¬ 
cally limited to 19.2K baud. Prices vary 
depending on the region, quantity or¬ 
dered, length of time contracted to 
keep the system, and physical distance 
from the central office. 

EXTENDING CONVENIENCE 

Line extenders and interface converters 
can make switch-based peripheral shar¬ 
ing more convenient. A line extender is 
a small box tliat conditions and/or 
amplifies signals or converts them to 
another form so that they carry farther; 
line extenders are available for both 
parallel and serial ports. 




CIRCLE NO, 120.ON READER SERVICE CARD 


Cross CompUo 
68000 / 08 / 10/20 


Features: 

■ Full, standard C 

■ Easy to Use Compiler Options 

■ Complete User Documentation 

■ Global Code Optimization 

■ Optional Register Allocation 
Via Coloring 

■ ROMable and Reentrant Code 

■ Comprehensive Royalty Free 
Run-time Library 

■ Floating Point Library Routines 

■ Intermix MCC68K C with 
ASMSSK Assembly Language or 
Microtec PAS68K Pascal 

■ Optional Assembly Language 
Listing Intermixed with MCCS8K 
C Source Line Number 

■ Symbolic Debug Capability 


The Microtec MCC68K C Cross Compiler 
is a complete implementation of the 
V’programming language as de¬ 
fined in The C Programming 
Language by Kernighan and 
Ritchie with extensions. 

MCC68K emits highly optimized 
assembly language code for 
the Microtec ASM68K 
Motorola compatible 
assembled 

The Microtec MCC68K 
package includes the 
compiler,relocatable 
macroassembler, 
linking loader, 
run-time li¬ 
brary, and 
compre¬ 
hensive 
user’s 
guide. 


3930 Freedom Circle, Suite 101, Santa Clara, CA 95054 
Mailing Address: P.O. Box 60337, Sunnyvale, CA 94088 


MICROTEC® 

RESEARCH 


Host computers include: DEC VAX, DG MV- 
Series, Apollo, IBM PC and PC-compatibles.. 

We're Functional and Fast and Serious 
about our products. We've been providing 
flexible and economical solutions for soft¬ 
ware developers since 1974. 

Beginning with product concept, through 
development, quality assurance, andpost¬ 
sales supijort - Quality, Compatibiiity 
and Service are the differences which set 
Microtec Research apart from others. 

If you're a serious software developer, shop¬ 
ping for software development tools, call or 
write today for more information: 

800 - 551 - 5554 , 

In CA call (408) 733-2919. 


204 


PC TECH JOURNAL 


nGURE4: Data-over-voice Encoder 



A data-over-voice encoder (DOVE) allows data and voice to share the same wire, simplifying data connections. Only the wir¬ 
ing is shared. DOVE central units often include data-switching capabilities, eliminating the need for an external data switch. 


Bravo Communications, Inc. offers 
a parallel line extender that can sup¬ 
port distances up to 3,000 feet under 
certain circumstances. Although it is 
designed specifically to work with 
Bravo’s Clustered Print Sharer (CPS), a 
nonbuffered printer-sharing device, the 
extender works with any parallel inter¬ 
face. When the extender is used with 
the CPS, internal signal conditioning 
allows switch-to-computer distances up 
to 100 feet and switch-to-printer dis¬ 
tances up to 50 feet. The line extender 
also shares the CPS power supply. 

Intellicom’s Long-Link converts sig¬ 
nals from parallel to serial and back 
again. It conditions and amplifies the 
signal for a potential 7,000-foot reach. 

Parallel-to-serial and serial-to-paral- 
lel converters are useful when a switch 
does not have the right kind of input 
or output port for the application. 
Microlator’s Adapta PII-210 converts 
parallel signals to serial, and serial sig¬ 
nals to parallel. Converters also can be 
combined with buffers. Inmac’s Univer¬ 
sal Data Buffer combines parallel-to- 
serial and serial-to-parallel conversion 
with either a 64KB or 256KB buffer. 

Because manufacturers do not al¬ 
ways follow the RS-232 specification 
precisely on serial interfaces, the user 


may encounter problems when trying 
to wire connector pins. IQ Technolo¬ 
gies’ Universal Smart Cable makes it 
easy to try various combinations of pin 
connections—it was used for the test 
set-ups for this article. 

The Smart Cable is reconfigured 
by changing a set of three switches. 
Unfortunately, IQ Technologies does 
not document the actual wiring con¬ 
nections made by the switches, so de¬ 
termining which configuration is 
needed once the connection is working 
is not easy. The manual does provide a 
sequence for trying the various switch 
combinations and lists the most com¬ 
mon configurations first. 

The user cannot try all possible 
combinations, however. Western 
Telematic’s Lasernet, for example, re¬ 
quires an input cable configuration not 
supported by the Smart Cable. 

Any configuration can be obtained 
with a patch box. When interfacing 
unusual RS-232 devices, a patch box 
can be a godsend—once the configura¬ 
tion has been determined, the patch- 
box wiring can be used as a guide to 
create a custom cable. 

A typical patch box consists of two 
DB-25 connectors, one male and one 
female. A small jack is provided for 


each line on both connectors. Short 
patch wires are inserted between the- 
jacks for any two pins that are to be 
connected. LEDs can be wired into the 
circuit to test the state of a line. 

SUITABLE SWITCH 

The vast selection of switches— 
mechanical or electronic, number of 
connectors, type of cable, internal 
buffer or not, multiple simultaneous 
inputs or not—may be overwhelming 
to the user who is interested, merely in 
running one printer from more than 
one computer. Nonetheless, this user is 
much better off wading through all 
these options than blithely accepting a 
LAN. For the price and relative ease of 
installation, switches are much more 
suitable than LANs. 

As a peripheral-sharing network 
grows, a true LAN becomes more at¬ 
tractive. However, both mechanical and 
electronic switches, enhanced by ex¬ 
tenders and other means, can be viable 
alternatives for users who have small 
peripheral-sharing needs. Liiilmiiiii ffil 


Michael Hurwicz is a consultant and free¬ 
lance u/riter who specializes in LANs. He is 
the author of the book Inside APPC, avail¬ 
able from Architecture Technology. 


SEPTEMBER 1987 


205 































































































Now go 17,400 bps in tinder $1000. 


The new Courier HST modem 


PC Magazine calls USRobotics' Courier 1 

HST/“ "the top price-performance ratio at ^ I 

9,600 bps.” Now we’ve made it almost twice i | 

as fest without raising the price. | 

Our new fuII-dupIexHi^ Speed Tech- / | 

nology dial-up modem with MNP Level < I 

5 data compression is totafly AT com- : . ^ 

mand set compatible, delivering data at up -— 

to 17,400 bps. And automatic M-back^ 
fafl-foiward always assures the fastest 
speed possible. Courier HST reduces 
phone line costs every time you use it 
When you buy an HST modem, you get USRobotics’ 
more than 10 years of modem e^q^erience gained 


I \ through sales of over half-a-rniBion moderns. 
1 \ We’re an organization that win support you 

S \ and grow with your needs. 

J PC Week says, “USRobotics’ Courier 

g \ HST produced the most impressive test 

§ \ results based on the modem’s suitability 

^ 1 to both file transfer and interactive 

MHiBB Other modems talk about speed. 

Courier HST delivers. Get your hands or 

Free Warranty Extension! Buy an HST 
before December 31,1987 and receive a S-year war¬ 
ranty extension FREE. A $50 value.* 


Can 1-800-DIAL-USR 

In Illinois (312) 982-5001 

ii^otics 


MNP is the Microcom, Inc. traiJcmark 
for Microcom Networking Protocol, a 
public domain error-control protocol. 


The Intelligent Choice in Data Communications. 
8100 McCormick Blvd., Skokie, Illinois 60076. 


Total warranty including extension: 5 years. 


CIRCLE NO. 213 ON READER SERVICE CARD 















PRODUCT WATCH 




TOPDOS 2.0 

FrontRunner 

Development 


Reviews 

and 

Updates 




TASKVIEW 

Sunny Hill Software 




MANOAt 


SIMPLE 

Acciiphase Ltd. 

Distributed by Software Merchants 
Unlimited, Inc. 

2252 Fillmore Street, Suite 401 
San Francisco, CA 94115 
8001874-6753; in California, 
8001826-3069 

PRICE: $395.00, SIMPLE 

$ 49 . 95 , SIMPLER (runtime) 


CIRCLE 357 ON READER SERVICE CARD 


S IMPLE (System IMPLementation by 
Example), a data management pro¬ 
gram from Accuphase Ltd, claims to be 
the “first picture-oriented application 
generator.” With an eye toward increas¬ 
ing productivity, it eliminates the need 
to write procedures or to code applica¬ 
tion programs. The program developer 
provides the specifications by drawing 
images on the screen and interacting 
with worksheets, simple takes it from 
there and generates the actual applica¬ 
tion program. The underlying concept 
of SIMPLE is unique and potentially use¬ 
ful. However, the product in its current 
release has several problems and re¬ 
quires such a substantial learning effort 
that SIMPLE belies its name. 

Traditionally, data management 
application programs are developed 
using procedural languages, such as 


COBOL, C, and dBASE. With a proce¬ 
dural language, the developer writes a 
program that lists the exact steps re¬ 
quired to accomplish a task. 

However, with a nonprocedural 
language, such as SQL (structured 
query language), the developer creates 
programs of language statements that 
define the characteristics of the desired 
resultant set of data. Then the data 
manager determines the process re¬ 
quired to produce that data. 

SIMPLE is one such nonprocedural 
language. The developer communicates 
to SIMPLE using a query-by-example 
(QBE) technique to specify tlie desired 
programs via a series of screens. Ac¬ 
cording to the SIMPLE documentation, 
“The principle behind simple is simple: 
paint examples of what you want done, 
then let the computer figure out how 
to accomplish the task.” This program 
specification approach is designed to 
be easier to learn and to use than pro¬ 
cedural programs or command files. 

The basic simple development 
screen, called a worksheet, is similar to 
a spreadsheet screen. Option menus 
appear across the top of the screen. 

The user selects options either by typ¬ 
ing the first letter of the desired option 
or by highlighting the option using a 
reverse-video bar. 

The seven options, called modes, 
of the main menu are DEVELOP, LOAD, 
MAKEMENU, USEMENU, OTHERS, 
TUTORIAL, and QUIT. The OTHERS 
mode offers a utility submenu to* set 
the date, to list a program, to set col¬ 
ors, or to select or specify up to four 
SIMPLE paths. A SIMPLE path is a mapping 
of a DOS directory path to one of four 
SIMPLE logical paths (1 to 4). simple uses 
these paths to search for programs and 
data as it performs operations. 

All development is accomplished 
in the DEVELOP mode. This mode of¬ 
fers a large tree of four additional lev¬ 
els of option menus. The first level of 
menu options are ADD, REPORT, EDIT, 


PROCESS, DELETE, IMPORT, and 
EXPORT. Both IMPORT and EXPORT 
have submenus for the selection of 
files and file types for import/export 
operations. The other five options all 
lead to a common submenu of options: 
PERFORM, DESIGN, SPECIFY, FILE, 
OUTPUT (REPORT only), and CLEAR. 

Although more than one menu 
path can lead to the same apparent 
action, the path becomes part of the 
mode. With SPECIFY, for example, the 
developer can select DEVELOP/ADD/ 
SPECIFY to enter specifications to add 
data to a file and DEVELOP/EDIT/ 
SPECIFY to enter specifications for a 
data modification program. The simple 
screen is the same in both cases (ex¬ 
cept for the display line at the top), so 
the developer must remain aware of 
the mode path to keep track of the 
current development effort. 

One confusing feature of the 
DEVELOP mode is that file definition 
options are available on menus only 
after the DEVELOP/ADD, REPORT, EDIT, 
PROCESS, or DELETE modes have been 
selected. As soon as the DEVELOP 
mode is chosen, the developer wants 
to be able to select a file. 

The DEVELOP mode is simple’s 
program generator. The lists of options 
indicate the types of programs that can 
be generated, and the DESIGN and 
SPECIFY modes provide the facilities 
for designing the programs. 

The DESIGN option is used to 
design screens and report layouts. Edit¬ 
ing layouts within this mode is straight¬ 
forward, although painting a report 
wider than 80 columns is awkward. 
Instead of horizontally scrolling a win¬ 
dow on a wide report layout screen, 
the developer must specify multiple 
screen lines per output line and con¬ 
tend with line wrap boundaries within 
the 80-column screen. 

Using the SPECIFY worksheet, the 
developer writes the processing logic 
for the program in the form of QBE- 


SEPTEMBER 1987 


207 







PRODUCT WATCH 


PHOTO 1: A specif]’ Worksheet 



The category and system files are opened and the fields to 
be included in the report are entered in the first column of 
the worksheet. Data elements, formulas, and conditionals 
may be entered in successive columns on the screen. 


PHOTO 2: A Report Design Worksheet 



Using the REPORT DESIGN option, the report form is 
painted on the screen in the desired format and the data 
elements from the specily worksheet are entered where the 
actual values will be printed when the report is run. 


like examples. This is the heart of the 
SIMPLE concept. In SPECIFY mode, ex¬ 
ample elements are declared. These 
alphanumeric strings are used as varia¬ 
bles in the DESIGN and SPECIFY work¬ 
sheets to hold values, to link files, to 
link the DESIGN and SPECIFY work¬ 
sheets, and to refer to data fields. 

As expected in the relational ap¬ 
proach, two or more files can be 
opened and linked. In simple, linkage is 
indicated by equating example ele¬ 
ments of the linking fields in each file. 

Formulas and query conditions 
also are stated on the SPECIFY work¬ 
sheet, as are marks to indicate whether 
data can be entered into a field. The 
SPECIFY worksheet is the mechanism 
that tells SIMPLE how to manipulate file 
data, so all DESIGN worksheets for 
ADD, EDIT, DELETE, and REPORT pro¬ 
grams must have associated SPECIFY 
worksheets. PROCESS, IMPORT, and 
EXPORT programs do not have 
DESIGN worksheets, but must have 
SPECIFY worksheets. 

SPECIFY worksheets are laid out in 
columns and rows. The sheet can be 
partitioned into a maximum of 8 col¬ 
umns, which must fit within die 
screen’s 80-character width. In the first 
column, fields are listed vertically for 
open files (fields do not need to be 
listed if they will not be used). Exam¬ 
ple elements, conditional statements, 
formulas, commands, and updating 
statements are placed in the second 
and successive columns (see photo 1). 

Example elements are used to 
refer to data fields. A caret ('^) preced¬ 
ing an example element indicates data 


can be entered into that field. Condi¬ 
tional statements filter data from files, 
validate data entered or processed, and 
specify conditions for data update. They 
consist of values and logical operators 
(similar to the IF statements in most 
procedural languages). Depending on 
the partition column where the condi¬ 
tional statement is placed, data can be 
selected for processing or optional 
updating. Commands are used to indi¬ 
cate special handling of records and to 
create error messages for data-entry 
programs. The available commands are: 
\NEW (create new records); \DELETE 
(delete existing records); \RECALL 
(undelete records); \NONE (skip rec¬ 
ord); \ASC and \DES (specify ascending 
or descending order of indexed files); 
and \ERR# (create error message). 

Data-entry screens incorporate up 
to four sections: Form, Search, Calls, 
and Help. The Form section contains 
the form name, text, prompts, and data 
entry fields. The developer can arrange 
the entry prompts in any way by paint¬ 
ing die screen. Data can be entered 
into multiple files. However, a SPECIFY 
worksheet must list all the correspond¬ 
ing files and all example elements 
marked with a caret for data entry. 

The Search section of a form con¬ 
sists of one or more pop-up windows 
that allow the user to scroll through 
data from linked files and to select data 
for entry into fields. This search win¬ 
dow is limited to a single line that sim¬ 
ple positions at the top of the screen. 

The Calls section permits the de¬ 
veloper to specify optional calls to 
other programs when the data-entry 


program is used from a menu. For ex¬ 
ample, options can be established to 
allow the data-entry operator to switch 
from invoice data entry to a customer 
add program and back. Mandatory calls 
can be used to execute other simple 
programs at desired points in the data- 
entry screen (for example, a mandatory 
call can be used to execute an invoice 
print program at the end of an invoice 
data-entry screen). 

The Help section allows the devel¬ 
oper to enter text to be displayed 
when the end user presses F2 (the 
application help key). 

Using the REPORT DESIGN option, 
the developer can paint a sample page 
of a report by typing example elements 
from any file to represent the data (see 
photo 2). An associated SPECIFY work¬ 
sheet must exist. Five statistical func¬ 
tions are available, as well as DATE and 
PAGE functions. In any DESIGN mode, 
SIMPLE will provide a default design 
form with one keystroke. 

The MAKEMENU option allows the 
developer to create a menu for run¬ 
ning an application. Each menu choice 
can be followed by 1 to 19 command 
lines, which simple will execute when 
that option is selected. This proved to 
be an extremely convenient and easy 
feature to use. 

A substantial amount of power is 
available in the simple program specifi¬ 
cation concept. For example, the 
SPECIFY worksheet can link together as 
many as five files, enabling the devel¬ 
oper to design a screen that will allow 
data entry into multiple files simultane¬ 
ously. Data from multiple files can also 


208 


PC TECH JOURNAL 



































be browsed and included in reports. 
The joins are done by simple provided 
a corresponding SPECIFY worksheet 
includes all the files needed. In addi¬ 
tion, the same SPECIFY worksheet can 
be used for programs of different 
types. For example, the developer 
might use DESIGN and SPECIFY work-, 
sheets to create a data-entry program in 
the DEVELOP/ADD mode, then use the 
same worksheets to create a data- 
modification program in the DEVELOP/ 
EDIT mode. Unfortunately, with the 
current implementation and documen¬ 
tation, it is not easy to learn how to 
specify operations beyond typical rudi- 
mentar\^ file-processing tasks. 

Two serious problems and several 
minor annoyances were encountered 
when testing simple, both versions 2.1 
and 2.2. First, in accordance with the 
manual, the installation of the program 
sets the computer’s CONFIG.SYS file 
specifications to FILES=20 and 
BUFFERS=1. Although Software Mer¬ 
chants Unlimited’s representatives say 
the program can operate correctly with 
buffers set to a number greater than 1 
(and this does appear to be the case), 
this fact is not documented in the man¬ 
ual or in the installation procedure. A 
buffer setting of 1 has a serious impact 
on the performance of many programs 
and simple’s requirement that this set¬ 
ting be in the user’s CONFIG.SYS file is 
uniquely and extraordinarily restrictive. 

Second, simple consistently modi¬ 
fied the ASCII files from which it was 
importing data. Each input file grew by 
512 bytes; most appeared to be data 
from the end of the file. It seems that 
SIMPLE appends the last 512-byte buffer 
from the input file to the end of the 
ASCII file. For example, the PC Tech 
Journal test file, ISSUE.ASC, is a 1,311- 
byte ASCII file of data in delimited for¬ 
mat. After importing this file to a simple 
file definition, the original ISSUE.ASC 
file was 1,823 bytes long, with a new 
DOS date/time stamp. The number of 
buffers specified in the CONFIG.SYS 
file (BUFFERS=1 in one test and 
BUFFERS=20 in another) did not affect 
this. All three ASCII test files imported 
exhibited the same 512-byte growth. 
This type of egregious software error 
in a production program raises suspi¬ 
cions about the overall quality of the 
system programming and testing. 

One minor annoyance was noted 
when the PC Tech Journal standard 
data-entry screen was being created. 
SIMPLE permits the use of graphic char¬ 
acters in screen design; it assigns sev¬ 
eral of them to keys on the keyboard. 


All 11 of the single-line box and joint 
characters are available. However, only 
6 of the 11 double-line box characters 
were available, and only 2 of the 18 
single-to-double and double-to-single 
joints were available. Not only were 
these and other graphic characters not 
assigned to keys on the keyboard, but 
they were not available in any manner. 
No complete ASCII character table was 
provided, and characters could not be 
entered via the standard approach 
using the Alt key in combination with 
the numeric keypad digits to enter 
ASCII character values. 

Another annoyance involves the 
function of the Ctrl-Home key combi¬ 
nation, which often is used in other 
programs to move the cursor to the 
top left corner of the screen. Pressing 
Ctrl-Home when in a SPECIFY work¬ 
sheet erases the entire worksheet with¬ 
out warning (other than tlie warning 
given in the reference manual). This is 
more than a little unfriendly to a new 
SIMPLE developer. 

simple’s tutorial materials do not 
have adequate depth to support the 
developer’s initial efforts to learn the 
system. A rudimentary on-line tutorial 
provides scenarios that present the ba¬ 
sics, but they do not address the pro¬ 


gram’s more advanced concepts. The 
tutorial is better suited to end users 
learning how to perform basic tasks 
than to developers trying to learn the 
capabilities of the program. Additional 
examples of application system devel¬ 
opment would be very useful. 

A separate tutorial manual (which 
appeared to be a preliminary version 
of a future tutorial) also was provided 
for review. This manual provides addi¬ 
tional examples of more sophisticated 
tasks, such as batch processing and 
transaction posting within the develop¬ 
ment of an accounts-receivable system. 

It is substantially better than the on-line 
tutorial. However, both the on-line tu¬ 
torial and the one in the manual 
merely tell the user what keys to press 
to complete the lesson; they offer little 
explanation as to why. It is difficult to 
apply the tutorial information to other 
situations and system designs. Some 
technical explanation as to why a cer¬ 
tain approach was taken in each lesson 
would be valuable, as would page ref¬ 
erences to the SIMPLE manual. 

Although not out-and-out bugs, 
tliese and other inconsistencies, plus 
inattention to detail create minor an¬ 
noyances that make simple more awk¬ 
ward to use than it should be. 



NEW ^ndbook 
For Data Acquisition 


Bigger 
and Better! 


Our newly expanded Handbook of Personal Computer 
Instrumentation for Data Acquisition, Test, Measurement, 
and Control contains more than ever before. It has 
everything you’ve ever wanted to know, and much more. 
Almost 300 pages include: 

• A tutorial • A chapter on available software 

• An applications section • System configuration guides 

• Example programs • Technical specifications 

This $15 value is FREE for the asking. Write on your 
company’s letterhead to: 

The New PCI Handbook, Burr-Brown Corp. 

P.O. Box 11400, Tucson, AZ 85734 

BURR-BROWN® 


SEPTEMBER 1987 


209 












PRODUCT WATCH 


However unique and interesting 
the SIMPLE concept, the product in its 
present form has flaws that make it 
unsuitable for serious application de¬ 
velopment. The program specification 
technique is not easy to master for 
tasks that are more complex and subtle 
than typical file add, edit, and delete 
operations. Developers steeped in 
more traditional methods will find the 
technique especially foreign and diffi¬ 
cult. This is not inherently bad—most 
tools require a certain amount of learn¬ 
ing before their full benefits can be 
realized. However, a tool that requires 
a substantial learning effort should pro¬ 
vide substantial benefit once learned. 
Due to its shortcomings, simple does 
not provide that benefit, simple is not 
consistent in overall design and quality 
with many of the programs reviewed in 
PC Tech JoumaVs continuing series on 
data managers. 

—DAVE BROWNING 


TASKVIEW 

Sunny Hill Software 
P.O.Box 33711 
Seattle, WA 98133 
8001367-0651; in Washington, 
2061367-0650 

PRICE: $79.95 



CIRCLE 358 ON READER SERVICE CARD 


Although DOS is not a multitasking 
jl\ operating system, users can bypass 
this limitation by using an operating 
environment to mediate between DOS 
and coresident application programs. 
The convenience of running several 
programs at once and switching among 
them easily has attracted many users to 
operating environments such as IBM’s 
TopView and Microsoft Windows. An¬ 
other in this product line is taskvie>x^ 
from Sunny Hill Software. 


Unlike task-switching environments 
that load several programs but run only 
one at a time, taskview provides true 
multitasking for most PC applications. It 
cycles through the loaded programs, 
giving each one a fraction of a second 
to run; it does this so fast that the pro¬ 
grams appear to be running simultane¬ 
ously (although only one appears on 
the screen at a time). 

TASKVIEW is a powerful, yet easy-to- 
operate environment. Most users will 
want to take advantage of its menu sys¬ 
tem, which is convenient and straight¬ 
forward. When TASKVIEW is invoked, it 
displays a menu of choices. If “Run a 
program” is selected, taskview displays 
a menu of the programs it has been 
configured for and runs the one cho¬ 
sen. Operation of the program contin¬ 
ues just as it would if it were executed 
from die DOS command line. 

Users can switch among various 
programs by one of three methods: 
choosing from a menu, using a hot 
key, or typing a command at die DOS 
prompt. At any time, users can invoke 
the menu by pressing Ctrl-Left Shift- 
End. From there, users can choose to 
run another program, to switch to an 
already-running program, or to recon¬ 
figure TASKVIEW. To switch to an al¬ 
ready-running program, the user selects 
“Switch programs.” taskview then dis¬ 
plays a list all the active programs, 
from which the user chooses one. 

Because taskview assigns each run¬ 
ning program a number, users can 
switch quickly among programs by 
pressing Ctrl-Left Shift and the numeric 
keypad digit corresponding to the de¬ 
sired program. No matter how it is se¬ 
lected, the desired program appears on 
the screen and continues running as if 
TASKVIEW had never intervened. 

If the user does not want to use 
the menu system, taskview also can be 
controlled from the DOS command 
line. The taskview commands OPEN, 
SPAWN, and SWITCHTO perform all the 
functions of the menu-driven system, 
but take less memory (leaving more 
memory for applications). However, 
even expert users may prefer the menu 
system because it is simple and quick. 

TASKVIEW, like TopView and Win¬ 
dows, must be configured for each 
program that will be run under it. The 
user fills out a simple on-screen form, 
providing the program name, filename, 
starting path, memory requirements, 
and other basic information. This con¬ 
figuration is necessary only once— 
when the program is run under task- 
view for the first time. The taskview 


manual lists all the information needed 
to configure taskview for 39 popular 
programs. Configuring taskview for 
other programs should take less than 
15 minutes of experimentation, even 
for the inexperienced user. 

TASKVIEW uses virtual memory to 
allow the computer to run more pro¬ 
grams than would fit in RAM at one 
time. In other words, if the user loads 
a program when the available memory 
is insufficient to hold it, taskview will 
attempt to make space by swapping out 
another running program to disk. It 
will suspend the swapped-out program, 
giving it no further processor time 
until the user switches back to it. 

Swapping is invisible to the user, 
except for a short pause that some¬ 
times occurs. With a hard disk, swap¬ 
ping usually takes less than five sec¬ 
onds on a PC; with a RAM disk, swap¬ 
ping is almost instantaneous. Some 
programs cannot be swapped in task- 
view —in particular, communications 
programs and programs that support a 
mouse. However, these programs still 
will run under taskview. 

Unlike RoseSoft’s ProKey or Bor¬ 
land’s SideKick and SuperKey, taskview 
does not interfere with other memory- 
resident programs. It also can run a 
wide variety of application programs, 
including many that other operating 
environments consider ill-behaved. For 
example, programs that write directly 
to the screen and read directly from 
the keyboard are fully supported; in 
fact, TASKVIEW comes with special loader 
programs to be used with MicroPro’s 
WordStar 3.3, Nashoba Systems’ Nut¬ 
shell 2.0, Leading Edge Word Processor 
1.3a, and BIT Software’s BITcom 2.6a. 
The loader programs allow taskview to 
run applications in the background, 
even though they usually write directly 
to the screen. 

TASKVIEW performs remarkably well, 
causing almost no noticeable reduction 
in the performance of each program. 
Even running four copies of DOS 
COMMAND.COM (each running a .BAT 
file) and WordPerfect, all programs per¬ 
formed as if they had total control of 
the machine. The manual claims that 
TASKVIEW may actually speed up some 
DOS operations, but this was not ap¬ 
parent during testing. 

Testing revealed only two minor 
problems with taskview. First, when 
running a program configured with in¬ 
sufficient memory, the DOS message 
“Program too big to fit in memory” 
appears and disappears before the user 
has a chance to read it. taskview itself 


210 


PC TECH JOURNAL 




• • • • 


EZQueue 3000 

Peripheral Sharing Plus! 

The Giltronix EZQueue'"'' allows up to twenty-four computers to 
simultaneously share one or more laser printers, dot matrix printers, or 
plotters. In just a few minutes, you can configure the EZQueue to efficiently 
manage a single shared printer 
or multiple printers depending 
on your need. Ten simple 
to use and expandable 
models are offered, 
each with up to two 
megabytes of 
dynamic 
buffering. 



Increased Productivity 

EZQueue goes beyond the cost advantages of 
sharing expensive printer resources. In a communica¬ 
tion environment, files containing data for printing 
mailing labels can be directed through EZQueue to a 
dot matrix printer. At the same time, files containing 
data for letter quality output requirements can be 
directed to a specific laser printer containing the 
desired paper style. Accounting departments can 
share the various printer resources needed to print 
invoices or checks. The flexibility of EZQueue can 
enhance productivity and reduce total system 
cost in virtually any workgroup environment. 

Dynamic Buffering for Simultaneous Inputs 

Buffering is dynamically allocated to one or more 
printer queues allowing simultaneous input from 
each of the attached computers with no waiting. 
When a shared printer is busy, files are stacked up in 
the EZQueue's buffer and output to the designated 
printer when it is ready to receive the next file. 


Headquarters 
3780 Fabian Way 
Palo Alto, CA 94303 
(415) 493-1300 
Telex 345542 


COGiltronix 

(>0 


Multiple Printer Sharing 

EZQueue is ideally suited 
to simultaneously access 
and share multiple printer 
resources. Each EZQueue is provided with 
Giltronix GX software, a DOS compatible program 
that makes selecting a desired printer a snap. Once 
installed on a computer, a few keystrokes will invoke 
GX from within any software program to quickly 
select the desired printer resource. Both serial and 
parallel interfaces are supported. 

Simple Installation 

No special cables are required because each 
EZQueue serial port automatically adjusts to signal 
directions. "Smart" ports, a "21" step installation 
guide and Giltronix toll-free tech support guarantee a 
successful installation with minimal effort. 

Expandability 

Unlike competitive systems, EZQueue's buffer size 
and number of ports can be expanded as your sys¬ 
tem grows. A minimum EZQueue starts with six 
serial ports, two parallel ports and 256K bytes of 
dynamic buffering. Serial ports can be added in six 
port increments up to a total of twenty-four serial 
ports. Buffering can be added in 256K byte incre¬ 
ments up to a total of 2 megabytes. 


Call Giltronix toll-free at (800) 531-1300 
In California, call (800) 521-1330 


CIRCLE NO. 172 ON READER SERVICE CARD 



















PRODUCT WATCH 


gives no indication that an error has 
occurred and behaves as if the pro¬ 
gram has terminated normally. 

The second problem is that task- 
view is inconsistent when reporting 
whether sufficient memory is available 
to run a program. Sometimes during 
testing, it would not allow the user to 
run a program on the first try. Then on 
a second try immediately afterward, the 
same program would run without inci¬ 
dent. These problems were intermittent 
and rare; on the whole, taskview oper¬ 
ated smoothly and without trouble. 

Sunny Hill Software provides a 
programmer s interface for taskview. It 
uses the same calling conventions as 
those used by IBM’s TopView. Only 
preliminary information on the inter¬ 
face came with the review copy of task- 
view, but Sunny Hill claims that an ex¬ 
panded version of the documentation 
will be available in the future. 

The TASKVIEW user manual is well- 
organized and easy to read. It explains 
TASKVIEW installation, configuration, and 
operation simply and directly. It does 
not bog the user down with details, yet 
it provides enough specifics to help the 
user configure the least-well-behaved 
program without difficulty. 

The minimum requirements for 
TASKVIEW are two disk drives or one 
disk drive and a hard disk, DOS 2.0 or 
later, and 186KB of memory. However, 
this minimum configuration is hardly 
practical, and Sunny Hill Software rec¬ 
ommends at least 256KB (the more, the 
better) and a hard disk, taskview runs 
on a computer with an EGA, CGA, or 
monochrome adapter, but it does not 
support the special features of the Her¬ 
cules Graphics Card. 

TASKVIEW comes witli two other 
programs, SuperMacs and CP. Tliese 
provide keyboard macros (similar to 
SuperKey and ProKey) and application- 
to-application cut and paste (allowing 
information from the display of one 
program to be used as input for an¬ 
other). Both SuperMacs and CP are 
compatible with taskview. 

SuperMacs has a simple pop-up 
menu user interface, invoked by press¬ 
ing Alt-Esc. The SuperMacs menu in¬ 
cludes the following: choices to Define 
a new key; Load, Merge, or Save a file 
of key macros; Clear (erase) all macros; 
and Write the screen to a file. Super¬ 
Macs usage is clearly explained on tlie 
screen at all times. 

The cut-and-paste capability is 
available either in SuperMacs or, when 
only this function is desired, in CP. In 
botli, the user marks the upper-left and 


lower-right corners of the region to be 
copied. SuperMacs or CP copies the 
region into its memory, then recalls it 
on demand, sending it to the currently 
running program as if it had been 
typed in from the keyboard. Both pro¬ 
grams insert a carriage return after 
each line of the region. 

TASKVIEW provides an extremely 
useful function: it allows users to 
switch quickly among running pro¬ 
grams. It is an excellent product. Given 
a hard disk and sufficient memory, it is 
easy to use, fast, and reliable. It can be 
configured for many popular programs, 
even those considered ill-behaved. To¬ 
gether, TASKVIEW, SuperMacs, and CP 
provide as complete a multitasking en¬ 
vironment as can be had running un¬ 
modified DOS programs. 

—ARTHUR A. GLECKLER 


TOPDOS2.0 

FrontRunner Development 
Corporation 
14656 Oxnard SD'eet 
Van Nuys, CA 91411 
800/654-7494, in California, 
818/376-1322 

PRICE: 169.95 



CIRCLE 359 ON READER SERVICE CARD 


A major weakness of DOS is its primi- 
.tive user interface. TopDOS, from 
FrontRunner Development Corporation, 
provides an alternative interface to the 
user by interposing itself between 
COMMAND.COM and the keyboard, 
which normally handles user input. 
TopDOS is not really an entirely new 
command processor, because it cannot 
execute batch files or load additional 
programs; it merely screens keyboard 
input and passes it to the same stan¬ 
dard command processor. In the pro¬ 
cess, it greatly improves the command¬ 


line interface, enhancing existing DOS 
commands and adding new ones. 

TopDOS is a terminate-and-stay- 
resident (TSR) program tliat can be 
loaded from the DOS command line or 
from a batch file. Once installed, it is 
disabled and enabled using either a hot 
key or a DOS command. If it is the 
most recently loaded TSR, it can be 
unloaded from memory. And even if 
TopDOS is loaded, the user can send 
single characters or commands directly 
to DOS, bypassing TopDOS, by prefac¬ 
ing them with a bypass character. 

Many TopDOS features are derived 
from the UNIX operating system. These 
include a history mechanism (for show¬ 
ing and reusing the last several com¬ 
mands entered to DOS); a MOVE com¬ 
mand (for moving, not copying, files 
among directories); a WHEREIS com¬ 
mand (for locating files in the directory 
structure); auto-completion (automati¬ 
cally completing the name of a file or 
directory on the command line when 
the user types enough characters to 
identify it); and aliases (custom DOS 
commands, used as abbreviations for 
other commands and tlieir parameters). 

TopDOS also has keyboard mac¬ 
ros, enhanced command-line editing, 
on-line help for DOS commands, a 
RAM-resident text editor, and a TREE 
program that displays a disk’s directory 
structure and provides point-and-shoot 
commands to copy, delete, move, edit, 
and execute files. 

TopDOS’s command history can 
save up to 200 characters of com¬ 
mands. The user can display a num¬ 
bered list of the commands by entering 
the HISTORY command. Each saved 
command then can be invoked by 
number. The command is issued im¬ 
mediately—the user has no opportu¬ 
nity to change it. When invoked in this 
manner, the command is not added to 
the history list. 

The other method of recalling 
commands is to scroll tlirough the dis¬ 
played list using the arrow keys. Each 
press of the Up arrow key copies the 
next command in reverse chronological 
sequence to the command line. The 
Down arrow key backtracks through 
the list. Using this method, the user 
can edit the command before he exe¬ 
cutes it by pressing the Enter key. A 
command recalled in this way is en¬ 
tered into the history list. 

One of the most useful of Top¬ 
DOS’s features is auto-completion. It is 
invoked by pressing the Tab key while 
typing a command or a filename on 
the DOS command line. 


212 


PC TECH JOURNAL 



If the user presses Tab while en¬ 
tering a command, TopDOS searches 
all directories listed in the current DOS 
path and lists all internal DOS com¬ 
mands and executable files that begin 
with the letters already entered. For ex¬ 
ample, pressing d-Tab might yield: 

*DATE 

♦DEL 

♦DIR 

DEBUG.COM 

DISKCOMP.COM 

DISKCOPY.COM 

and any other commands beginning 
with “d” in the current path. The aster¬ 
isks indicate internal DOS commands. 

If TopDOS finds only one possible 
completion for the command being 
entered, it automatically types the char- 
aaers needed to complete the com¬ 
mand. If more than one completion is 
possible, TopDOS lists them all and al¬ 
lows the user to choose between them, 
either by typing additional characters 
or by selecting one of the possible 
commands using the arrow keys. 

Auto-completion also works when 
a filename is entered as a command¬ 
line argument. However, in this case, 
TopDOS does not search the DOS path 
for possible completions. 

The keyboard macro feature of 
TopDOS is not in the same league as 
those in SuperKey and ProKey. Top¬ 
DOS can define only 11 macros; it as¬ 
signs them only to the 10 function keys 
and Alt-=. Command aliases are a sec¬ 
ond form of macros invoked by name. 
A TopDOS command displays a list of 
all aliases and macros. 

TopDOS provides fiill editing fea¬ 
tures on the command line. Users can 
move left and right character or by 
word, insert and delete characters any¬ 
where on the line, and cut and paste 
within the command line. These fea¬ 
tures, plus TopDOS’s ability to recall 
rapidly commands entered previously, 
help the user overcome the often cum¬ 
bersome command-line interface. 

The built-in text editor is an inte¬ 
gral part of TopDOS. Because the edi¬ 
tor resides in RAM whenever TopDOS 
is loaded, it starts instantaneously; the 
user does not have to wait for it to 
load from disk, unlike most editors. 

TopDOS’s editor is simple and fast, 
adequate for its intended use of editing 
batch files and short text files. It is cer¬ 
tainly insufficient, however, for editing 
programs or long documents. Although 
it can edit files up to 54KB in size, its 
command set is somewhat limited. Cut 
and paste, for example, is confined to 


one line at a time, and neither search 
nor replace commands are available. 

The TREE command is another 
comprehensive, built-in feature of Top¬ 
DOS. This command displays a repre¬ 
sentation of part of the current disk’s 
direaory tree and allows the user to 
examine various portions by pointing 
with the arrow keys. The display shows 
the list of files in the selected direc¬ 
tory, plus those in its parent directory, 
sibling directories, and subdireaories. 
The user can select files for copying, 
moving, deleting, executing, or editing. 

The TREE command operates 
smoothly and quickly. It is intuitive and 
forgiving of mistakes—definitely an 
improvement over performing the 
same functions from the DOS com¬ 
mand line. However, during testing, the 
editing feature crashed the computer 
several times when TREE was invoked 
from a DOS shell inside an application. 

TopDOS provides two utility pro¬ 
grams for use as external commands. 
The first, TREECOPY, copies files from 
a directory and all its subdirectories, 
optionally recreating the subdirectory 
structure at the target. It brings to ear¬ 
lier versions of DOS the same capabili¬ 
ties that XCOPY brings to DOS 3 2 and 
later. The other utility, CLUSTER, deter- 
nlines the file a given disk cluster be¬ 
longs to. It is useful for identifying a 
file with an unreadable cluster. 

In addition to these new features, 
TopDOS enhances the existing built-in 
DOS commands. For example, com¬ 
mands that operate on a set of files 
specified by a wild-card pattern can be 
further limited to operate only on files 
before or after a given date. Similar to 
UNIX, any command entered with in¬ 
sufficient or erroneous parameters gen¬ 
erates a message describing the correct 
usage. This message also can be dis¬ 
played on request. 

TopDOS runs on any PC-compati¬ 
ble computer with DOS 2.0 or later. It 
requires 38KB of RAM when loaded. It 
is a well-designed, well-executed prod¬ 
uct. Its command set uses a logical, 
consistent set of options, and operation 
is quick and convenient. It comes with 
an excellent manual and quick-refer¬ 
ence card, augmented by on-line help 
for most operations. 

TopDOS is best-suited for expert 
DOS users, especially those who miss 
the many conveniences available in 
larger operating systems. It also can be 
helpful to anyone who spends a lot of 
time conversing with DOS by means of 
its command line. I imjmjiii_^l 

—ARTHUR A. GLECKLER 


Dbase* 


programming tools 

*Clipper, FoxBASE+, 
dBASE, Quicksilver 

The Ul Programmer 

Ul is the first professionai code generator; we 
wrote Ui for programmers who want to automate 
their work but cannot use code that is ‘almost’ 
good enough. If your user Interfaces include 
bounce-bar menus, pop-up help screens and 
the other features of today’s best programs, you 
will gain an order of magnitude in productivity 
with Ul. 

Ul is a second generation, programmable pro¬ 
duct — so your code comes out your way. 
Application specific edits, for instance, can be 
placed in the Ul ’template’ which controls the 
generation. Edit the screen appearance until it 
‘looks and feels’ perfect. Everytime you generate 
code, your special logic Is preserved. 

Speaking of editing the screen, Ul includes a 
powerful, 3-D screen editor, so you can draw 
pop-up help boxes over your pull-down menus, 
over your application. 

The Documentor 

To run Doc, you just tell it the name of the main¬ 
line routine and make sure your printer has a lot 
of paper! (Sure, you can have the output go to 
the screen or a file, too.) 

You can tailor your documentation to Include any 
or all of: a table of contents, system tree diagram 
(main line Is the root), hierarchy (box diagram) 
charts for each module, action diagrams (modern 
style flow charts) for each PRG or procedure, 

DBF listings (structure, indexes, more), where 
used/updated listings for fields and all variables 
— by module and by line number within each 
module. 

Our written money-back satisfaction guarantee 
set a new standard when we began it in 1985. 
(Return rate to date: 9.6% and dropping!) No 
copy protection, royalties or other nonsense. 

Suggested retail: $295 each, (800) support 
included. At your dealer today. Call us for a very 
special offer on our latest release! (800) 233- 
3569 or, in NY. (212) 406-7026. 

WMt 

The Computer Aided Software 
Engineering Corporation 

233 Broadway, Suite 869, New York, NY 10279 
CIRCLE NO. 132 ON READER SERVICE CARD 

213 


SEPTEMBER 1987 


The new generation of software 
development tools are here. 

Now .. I I 




n 


J. J Irs 

I I_ 

Your Move 





The only fully-integrated family of software development 
tools designed for today’s programming needs. 

You’re looking for a language which can handle today’s programming tasks: 
expert systems, natural language, relational databases, intelligent human interfaces. 
Your best move is Arity/Prolog. Arity/Prolog is the foundation for a variety of 
programming tools designed to meet your programming needs. I 




Expert Systems 

Arity/Expert is a programming tool which 
bridges the gap between a human’s view of a 
problem and a computer’s view of the problem. 
Arity/Expert is a frame-based system which 
features backward chaining, automatic explan¬ 
ation generation, positive and negative confi¬ 
dence factors, and complete system debugging 
facilities. And Arity/Expert is designed with 
a unique open-end^ architecture that allows 
you to customize your expert system to 
match your individual needs. 




SQL 



l-800-PC-^ 
(Mass: 617-3’ 

Vrity 

71-1243) 








Structured Query Language (SQL) is fast becoming the 
industry standard relational database interface language. 
The Arity/SQL package lets you easily add this familiar 
database interface to your Arity/Prolog applications. Using 
Arity/SQL queries, you can easily display specific information 
from a database table, combine data from many different 
tables, and perform comparisons among data in the database. 
If you’re planning to incorporate relational database technology 
into any of your applications, you’ll want to use the 
combination of Arity/Prolog and Arity/SQL to speed your 
development efforts. 
























EXPERT CONSULTANT: APPUED AI 


ROBERT E. SHOSTAK and RICHARD L. SCHWARTZ 


When a Program Has to Work 

Formal program verification is a difficult but powerful 
approach to increasing software reliability. 



C onsider the following scenario . . . 

The ribbon has been cut and the 
hoopla has subsided; finally it is time 
to get down to the serious business of 
bringing the newborn South Bronx 
Nuclear Power Station up to full power. 
Some residents and businesses had 
questioned the wisdom of such a 
move, but the location really was ideal 
and the price of the real estate had 
been right. In any case, the local politi¬ 
cians had seen to it that that the opera¬ 
tion of the plant would be controlled 
completely in the software—thereby 
ensuring that it would be free of any 
possibility of human error. Lucky for 
you, as programmer-in-charge, that you 
discovered the “last” major bug a good 
two days before . . . 

Or, how about this possibility: 
Today was the day—the fabrication of 
the first five million chip sets. Follow¬ 
ing Big Blue’s latest West Coast acquisi¬ 
tion, no one was the least bit surprised 
to learn that the much-heralded Macln- 
Dos operating system would require a 
new chip, the 680386. As the genius 
behind the microcode, you stare va¬ 
cantly at the two megatransistor layout 
pinned to the wall—an amazing feat, 
considering you had only six months of 
development time. It does work, you 
tell yourself—after all, it ran Flight 
Simulator in protected mode, didn’t it? 

Let’s face it, although these scenes 
are obviously hypothetical (and per¬ 
haps, far-fetched), situations are going 
to come up in which a piece of soft¬ 
ware just has to work. As any program¬ 
mer knows, the traditional methods of 
increasing program reliability—desk 
checking and testing—are far from per¬ 
fect. The use of structured program¬ 
ming disciplines and high-level lan¬ 
guage features can help enormously, of 
course, but a programmer can always 
write a structured program that does 
the wrong thing. 

Formal program verification, a dif¬ 
ficult but powerful approach to increas¬ 


ing software reliability, is worth consid¬ 
ering. Verification, as it is known by 
researchers, is one of the first and 
most important applications of machine 
reasoning. Simply stated, verification is 
intended to prove in a mathematical 
sense that a program is correct. 

Unlike testing, which can affirm 
that a program works properly for a 
finite set of test inputs, formal verifica¬ 
tion seeks to prove correctness for all 
possible inputs—even if the possibili¬ 
ties are infinite. Formal verification as¬ 
pires to a degree of reliability that tra¬ 
ditional testing simply cannot match. 

Once the most straightforward er¬ 
rors have been exorcised from a pro¬ 
gram, the remaining bugs are likely to 
be subtle boundary-condition problems 
that are difficult to expose using auto¬ 
matic testing. Moreover, for realtime 
applications, it can be difficult to pre¬ 
dict likely inputs in advance. For exam¬ 
ple, a recent space shuttle mission was 
aborted just moments before launch 
because of a software problem. Appar¬ 
ently, the system had never been tested 
under exact launch conditions. 

DEFINING CORRECTNESS 

Before describing how formal verifica¬ 
tion works, we should discuss what it 
means for a program to be correct. In 
the first place, correctness has no 


meaning unless the exact intent of the 
program in question is understood. 

A good example is the DOS 2.x 
and 3.x call tliat writes data to a file. If 
zero is specified as the number of 
bytes to be written, the file is actually 
truncated at the current seek position. 
Although this oddity is not documented 
in the accompanying DOS manual, 
many programmers take advantage of it 
as the only way to return file storage to 
the operating system short of deleting 
the file. Should this be considered a 
bug or a program feature? Only Micro¬ 
soft can say for sure. 

Clearly, to prove the correctness of 
a program in a mathematical sense, the 
program’s intent must be able to be 
expressed in a precise and formal man¬ 
ner. This can be accomplished in two 
ways. One is to exhibit a second pro¬ 
gram that defines the desired behavior 
of the first. The second program might 
be a simpler, less optimal version of 
the first that can be determined by in¬ 
spection to do the right thing. Proving 
the correctness of the first program 
then becomes a matter of showing that 
it is equivalent to the second. 

The more frequently used method 
of expressing intent, and the one we 
will be concerned with here, is to 
write a description of the program in a 
formal specification language. The spec- 


SEPTEMBER 1987 


215 


ILLUSTRATION • MACIEK ALBRECHT 



EXPERT CONSULTANT: APPUED AI 


ATTENIION 

RHAHRS. 


YOU SHOULD 
CARRY 

PC TECH JOURNAL, 
THE MAGAZINE 
FOR IBM PC 
SYSTEMS EXPERTS. 






E very issue of PC TECH 
JOURNAL speaks to 
your advanced cus¬ 
tomers who are systems 
designers, developers, 
integrators and DP/MIS 
professionals. Increase 
the sale of the applica¬ 
tions software, languages, 
operating systems and 
hardware you carry 
with the most respected 
magazine written for 
sophisticated IBM PC 
professionals—-PC tfph 
JOURNAL 
For more inform 
on how you can carr] 
this "silent salesman' 
for greater prof its, c 
(212) 503-5380 or wri 
/"—' Benedet 
<etail Sales 
Marketing Ma 
Ziff-Davis PubI 
Zompan] 
kAvenu 
NY 10016 



In this flowchart, a is the input assertion, j3 and y are the output assertions. 


ification language can be either a flavor 
of mathematical logic or a higher-level 
language that can be translated easily 
into mathematical logic. In either case, 
the intent of the program is expressed 
in a declarative manner rather than in 
a procedural manner. In other words, 
the specification says what the program 
is supposed to do, whereas the proce¬ 
dural explanation says how it is sup¬ 
posed to do it. 

Suppose the program being ana¬ 
lyzed were a sorting algorithm that was 
taking an array A of dimension n as 
input. The specification might include 
an assertion (or logical formula) stating 


that after execution of xhe algorithm, 
the elements of A are in ascending 
order—that is, 

l<iAi<n D A[i] < A[i-h 1] 

Here, A stands for the logical atjd, and 
D stands for logical implies. Note that 
this assertion says nothing at all about 
which sorting technique is to be used 
to accomplish the task—it could be a 
bubble sort, a quicksort, or whatever. 
But it is not really enough just to say 
that tlTe output is sorted. To be com¬ 
plete, another assertion stating that the 
output is a permutation of the input 
also would be necessary^ 


216 


PC TECH JOURNAL 


































































Symbolic execution of a path through the flowchart (in this case y = 0 and 
X # 0) yields a verification condition that asserts the correctness of the path. 


FLOYD^S METHOD 

In essence, Floyd’s Method of formal 
verification (which is named after the 
Stanford University professor who pop¬ 
ularized it in the 1960s) works by re¬ 
ducing a program to a set of formulas 
in mathematical logic that are true if 
and only if the program is correct. The 
formulas are proved either manually or 
with the aid of an automatic theorem¬ 
proving system. 

Floyd’s Method requires the pro¬ 
gram to be specified by associating as¬ 
sertions at various points within it. In 
particular, an input assertion is placed 
at the entiy^ point of the program, and 
an output assertion is placed at each 
exit. The input assertion states condi¬ 
tions that the inputs to the program are 
assumed to satisfy. In the case of a pro¬ 
gram ROOT that computes square 
roots, for example, the input assertion 
might require the input to be a non¬ 
negative real number. 

The output assertions, on the 
other hand, say what relationship the 
outputs of the program must bear to 
the inputs. If a' represents the input to 
ROOT and y the output, the output as¬ 
sertion might be something like 

I y - Vx I < .001 * Vx 

This states that ROOT is good to within 
.1 percent of the true square root of x. 
(Floyd’s Method also entails that asser¬ 
tions be placed at intermediate points 
within the program. This process is 
explained below.) 

Now consider the program 
GCD(a,b) (see the flowchart dia¬ 
grammed in figure 1), which computes 
the greatest common divisor (GCD) of 
two non-negative integers a and b. (For 
example, the greatest common divisor 
of 12 and 8 is 4.) Program GCD is a 
simplified version of the Euclidean Al¬ 
gorithm. As the diagram clearly shows, 
it works by repeatedly subtracting its 
inputs from each other until one or the 
other gets down to zero. 

Figure 1 also shows an input as¬ 
sertion annotating the enti*)^ point to 
the flowchart and an output assertion at 
each of the two exits. The input asser¬ 
tion, a, prescribes that the two inputs 
to the program be non-negative (the 
algorithm would not always work 
otherwise), and the output assertions, 

P and y, state that the value returned 
by the program is in fact the greatest 
common divisor of a and b. (Note that 
the function gcd() in this specification 
refers to the true mathematical gcd 
function—not to die program of the 
same name.) 


What we want to show is that if 
particular inputs a and b satisfy the 
input assertion, then one or the other 
of the output assertions (depending on 
which exit is taken) will be true upon 
return from the program. The demon¬ 
stration is carried out by means of a 
technique known as symibolic execu¬ 
tion. The process of symbolic execu¬ 
tion is veiy much like simulation, ex¬ 
cept that symbolic inputs are used 
rather than actual numeric inputs. If 
program execution can be thought of 
as pushing numerical inputs around 
the flowchart, then symbolic execution 
can be thought of as pushing the input 
assertion around the flowchart. 

Here is how it is done. First con¬ 
sider a straight shot through the flow¬ 
chart from the entry point through to 
the second exit, without looping even 


once. Figure 2 shows this path, along 
with the results of pushing the input 
assertion from statement to statement. 
The head of the path is annotated with 
the input assertion itself—all we know 
at the beginning is that both a and b 
are non-negative. 

The effect of symbolically execut¬ 
ing the statement x = a is to conjoin 
another clause stating that the variables 
X and a now have the same value. In 
similar fashion, pushing this assertion 
over the assignment y = b results in 
adding a clause stating that y and b 
now have the same value. Next, passing 
through the no branch of the test on 
we tack on a clause asserting the result 
of that test. Finally, moving through the 
corresponding test on y, we arrive at 
the resultant assertion that is shown 
just above the return box. 


SEPTEMBER 1987 


217 






























EXPERT CONSULTANT: APPUED AI 



A new assertion, 8 , has been added within the loop in the flowchart. The loop 
invariant 8 is true whenever control reaches that point. 


Any program inputs that satisfy the 
input assertion and drive execution 
along this path must satisfy the resul¬ 
tant assertion. To prove correctness for 
this path, we need to show only that 
this assertion implies the output asser¬ 
tion, y. In other words, we must show 
that the formula 

a^OAb^OAx = aAy = bAx <> 0 
A y = 0 

D 

X = gcd(a,b) 

is a valid (always true) formula. The im¬ 
plication is called a verification condi¬ 
tion, because its truth verifies the path. 

In fact, the validity of this particu¬ 
lar verification condition is quite easy 
to establish. Because it follows from 
the premise of the implication that b 
and y both must be zero and that a 
and X are equal, the conclusion can be 
simplified to a = gcd(a,0). Any integer 
divides zero; thus, this last formula is 
called an identity. 

Of course, we have so far consid¬ 
ered only one possible execution path. 
However, because we can go around 
tlie loop any number of times depend¬ 
ing on the inputs, an infinite number 
of possible execution paths must be 
considered. In principle, we could de¬ 
rive and prove a verification condition 
for each. In practice, naturally, we need 
to be more clever than that. 

The trick is to introduce still an¬ 
other assertion (in this case S) to be 
associated with an intermediate point 
in the program (see figure 3). The new 
assertion is called an invariant, be¬ 
cause it is supposed to be true when¬ 
ever flow of control reaches the point 
in the program to which it is attached. 
In the example used here, the invariant 
states that the variables x and y are 
non-negative and that the GCD of the 
inputs a and b is the same as the GCD 
of the variables .x and y. 

The invariant is placed strategically 
at a point where it cuts the main loop 
of the program. As shown in figure 4, 
this placement permits the flowchart to 
be decomposed into a number of strips 
of straight-line code, each strip begin¬ 
ning and ending with an assertion. Any 
execution path through the original 
flowchart can be broken down into a 
traversal of the strips. (For an execu¬ 
tion path that loops, strips II and III 
might each be traversed more than 
once.) Note that in the sequence of 
strips corresponding to a given execu¬ 
tion, the assertion labeling the bottom 
of each strip is the same as the asser¬ 


tion labeling the top of the next strip 
in the sequence. 

The proof strategy involves consid¬ 
ering the strips individually. For each 
one, it must be proved that if the asser¬ 
tion labeling the top of the strip holds 
for particular values of the variables, 
and the strip is executed for those val¬ 
ues, then the assertion labeling the bot¬ 
tom of the strip will hold when execu¬ 
tion reaches that point. It then follows 
that any execution path satisfying the 
input assertion at the beginning of exe¬ 
cution necessarily satisfies the output 
assertion at the end of execution. 

To verify each strip, the symbolic 
execution procedure (explained above) 


is used to generate a verification condi¬ 
tion. The verification condition is then 
proved, either manually or with the 
help of an automated theorem prover. 

Figures 5 and 6 show the asser¬ 
tions that are obtained from symbolic 
execution and the resultant verification 
conditions for strips I and II, respec¬ 
tively. The verification condition for 
strip I is trivial; however, proving the 
verification condition for strip II does 
requires some reasoning in elementary^ 
number theory^ 

Because strip II represents a loop 
in the flowchart, the same assertion, S, 
labels both its top and its bottom. The 
verification condition for tliis strip as- 


218 


PC TECH JOURNAL 


























































The flowchart has been decomposed into strips where each strip represents a straiglit-line path through the program. 


sens that the invariant 8 is strong 
enough to carn^ itself around the loop. 
If you are familiar with the principle of 
mathematical induction, think of this 
invariant as a kind of induction hypoth¬ 
esis. Instead of proving that “if the hy¬ 
pothesis is true for n, it is also true for 
n 1,'" we must prove that “if the hy¬ 
pothesis is true for the current values 
of the variables, it remains true after 
traversing the loop once.” 

VEMFICATION DIFnCULTIES 

The practical problems encountered 
when applying formal verification tech¬ 
niques to real-world problems can be 
formidable. As we have noted, formal 
methods require that the intended be¬ 
havior be specified in a precise, mathe¬ 
matical way. Depending on the applica¬ 
tion, the specification process itself can 
be an enormous task. Expressing the 
intended behavior of a compiler, for 
example, requires encoding the seman¬ 
tics of both the language to be com¬ 
piled and of the target instruction set. 
Moreover, the proof of correctness is 
only as good as the specification; if the 
specification contains errors, the proof 
may be worthless. In theory, of course, 
a specification should be a clear, crisp 


PC MAINFRAME 

VIA 9-TRACK TAPE 

For Information Interchange-Backup-Archival Storage 

IBM format compatible 9-track, '/2 inch magnetic tape is the universally accepted 
media for mainframes and minicomputers. Catamount offers Low Cost, Lightweight 
9-track Tape Subsystems for the IBM-PC/XT/AT computers which allow: 

• Reading tapes generated on mainframes and minicomputers. 

• Writing tapes to be read on mainframes and minis. 

• ASCII, EBCDIC and Binary tapes accommodated. 

• 800 bpi NRZI, bpi PE, and 6250 bpi OCR format systems available. 

• Storage capacities up to 270 MB on a single reel. 


Systems come complete with comprehensive DOS command syntax oriented 
software and an Installable Device Driver. For OEM applications, 
the tape controller is available separately. 



SEPTEMBER 1987 


CIRCLE NO. Ill ON READER SERVICE CARD 


219 




































































EXPERT CONSULTANT: APPUED AI 


Statement of intent tliat someone other 
than its author can examine and ap¬ 
prove. If not properly prepared, how¬ 
ever, the specification can be less relia¬ 
ble than the code itself. 

Another problem lies in the deter¬ 
mination of the invariant assertions 
needed to cut the program into a se¬ 
ries of strips. As noted above, these 
invariants play the roles of induction 
hypotheses and must be able to carry 
themselves around the loops in the 
program. In the 1970s, a good deal of 
research effort was focused on the 
problem of generating these assertions 
automatically. That work was only mod¬ 
erately successful overafl because speci¬ 
fying these invariants generally requires 
the talents of experienced and skilled 
users of the technology. 

One of the most difficult aspects of 
formal verification is actually proving 
the verification conditions. As you can 
guess by examining the one generated 
for the simple path shown in figure 6, 
verification conditions can be quite 
complicated. For more involved pro¬ 
grams, these conditions can comprise 
pages and pages of text—too much 
even for skilled mathematicians to 
prove manually with any hope of relia¬ 
bility. Fortunately, these kinds of for¬ 
mulas are not usually very profound in 
the mathematical sense, thus they lend 
tliemselves favorably to machine-aided 
reasoning techniques. 

In spite of the difficulties, much 
progress has been made in the last 
decade in the development of com¬ 
puter-based formal verification systems. 
The authors of this column, for exam¬ 
ple, have designed and implemented 
an experimental specification and veri¬ 
fication system that has been used to 
prove correctness properties of a fault- 
tolerant distributed computer. More 
recently, these techniques also have 
been applied to the verification of 
microprocessor designs. 

Verification of real systems is an 
extremely time-consuming and expen¬ 
sive proposition. The process costs 
roughly $1,000 a line (and that cost per 
line increases as the number of lines 
increases). Nevertheless, for applica¬ 
tions that involve the risk of human 
life, or whenever extreme reliability is 
necessary—in other words, when the 
program simply miist work—the cost 
can be well worth it. I '"1111 


Robert E. Shostak, Ph.D., and Richard L 
Schwartz, Ph.D., are vice presidents of devel¬ 
opment and cofounders of Ansa Software. 



Symbolic execution of strip I leads to a verification condition. This formula asserts 
the correctness of the path and should always be true on exit from the strip. 



Similar to strip I in figure 5, symbolic execution of strip II leads to a verification 
condition. This formula asserts the correctness of the path. 


220 


PC TECH JOURNAL 


































USERS CAN ADD NEW FUNCTIONS 
TO LOTUS, WORDSTAR AND dBASE 


)Move into 

WEINER SHELL 

GET ROOM TO GROW 

• Add your own functions to LOTUS, WORDSTAR, dBASE & 
most other programs on the market. 

• Custom-design memory-resident windows, menus, screens & 
utilities. 

• Run Shell programs without leaving your application. 

• Execute Shell programs automatically, at timed intervals, or 
with user-defined hot keys. 

• 'SOK memory required. Supports up to 8M bytes of Lotus- 
Intel memory. 

• $199 (includes limited no-royalty agreement). 

THE FIRST MEMORY-RESIDENT 
PROGRAMMING LANGUAGE 


miCROpROdUCtS 

P.O. Box 4104/Silver Spring, MD 20904 (301)384-6868 


CIRCLE NO. 146 ON READER SERVICE CARD 


9-TRACK MAG. TAPE SUBSYSTEM 
FOR THE IBM PC/XT/AT AND... 


For information interchange, backup and archival storage, 
IBEX offers a 9-track, IBM format-compatible V 2 magnetic 
tape subsystem for the IBM PC, featuring: 

■ IBM format 1600/3200 and 800 cpi. 

■ Software for PC-DOS, MS-DOS. 

■ Also for DEC, VAX, VME, 

S-100, RS-232, IEEE 488. 


Write, phone or TWX for information. 


IBEX COMPUTER CORR 

20741 Marilla St. 

Chatsworth, CA 91311 
(818) 709-8100 
TWX; 910-493-2071 



KADAK’S 
engineers bring 
years of practicai reai-time 
experience to this mature 

MULTI-TASKING SYSTEM 

(version 2.0) 

for the IBM® PC, PC/XT and PC/AT 


No royalties 
IBM PC DOS® support 
C language support 
Preemptive scheduler 
Time slicing available 
Intertask message passing 


Dynamic operations: 

- task create/delete 

- task priorities 

- memory allocation 
Event Manager 
Semaphore Manager 


AMX86'“ operates on any 8086/88, 80186/88, 80286 system. 


Demo package 
Manual only 
AMX86 system 


$25 US 
$75 US 
$2195 US 


(shipping/handling extra) 


Aiso avaiiable for 8080, Z80. 68000 


KADAK Products Ltd. 

206-1847 W. Broadway 
Vancouver, B.C., Canada 
j- V6J1Y5 

Telephone: (604) 734-2796 
Telex: 04-55670 


LAN Managers 

If your nodes use the IBM PC-LAN program, 
your backups could be omitting important files. 
If the clock on any user workstation has an in¬ 
correct date, your incremental backups may be 
a time bomb waiting to explode! 

NctClock™ allows all nodes to retrieve the 
Time & Date from a single fileserver. 

NctClock™ Features: 

• Improve integrity of directory dates for version identification 
and incremental back up by date. 

• Change to or from daylight savings time by simply resetting 
ONLY the file server clock. 

• Save money on future hardware purchases by installing 
networked PC’s without clock boards. 

• Liberal licensing policy allows an unlimited number of users 
to execute NetClock from each licensed server. 

• Improve network security by accurately tracking and logging 
user activity with a consistent date and time. 

__SessionWare, Inc_ 


2444 Moorpark Avenue, Suite ^300 
San Jose, CA 95128 
(408) 292-9951 Fax: (408) 293-5337 


CIRCLE NO. 258 ON READER SERVICE CARD 


CIRCLE NO. 200 ON READER SERVICE CARD 













Minimum quantity—500 reprints. 


interactive ^tnper® 


5 2239 

nPKSTATlO^® 

^f?BTfNGAT$2998 


DEC VT102/VT100/VT52 & Tektronix 
4105/4010/4014 Terminal Emulator 

Full color emulation and the features you want: 


use 4096 X 3133 resolution 
zoom, pan, and window plots 
highest resolution printer dumps 
choose text and plot color 
transfer files with XMODEM 
and Kermit protocols 
large scroll back text buffer 
132 column VT100 capability 


20 User-definable keys 
capture plots and text on disk 
full or half duplex 
hot key to access DOS 
all VT100 keypad commands 
command line editing 
can create Lotus PIC files 
password security 


VTEK makes your PC better than a terminal 

$150 from Scientific Endeavors 

3 Publication Quality Graphics for 
J Scientific and Technical Applications 


linear, log, & polar plots 
bar charts & Smith charts 
contour plots with labels 
3-D curves, 3-D surfaces 
with hidden line removal 
6 curve types, 8 markers 
14 fonts, font editor 


multiple levels of ;{Jg*'‘8cript8 
4096 X 3120 resolution 
zoom, pen, window plots 
multiple plots on a page 
high resolution printer and 
plotter dumps in COLOR 
use splines and scattered data 


, £ 16 color plots on EGA, EVA, Sigma, TeleVideo & Tecmar boards 

Over 125 routines to call from your C program 
I SOURCE INCLUDED. Licensed for personal use only 
I For OoSmet, C-86, Aztec, Lattice, and Microsoft C compilers 

I $350. Demo $8. 

Scientific Endeavors 

Route 4, Box 79; Kingston, TN 37783 

[615] 376-4146 

1 Most PC equipment is supported 
assembler is required. 

this ad was made using Gr-phiC" 


CIRCLE NO. 107 ON READER SERVICE CARD 


EEll 




ANALYSIS- 


IBM ^ 


pc 


°«a«graphy 


lui ivn-n- — 


r„,entMon 

pectroscoi 


products f 

'’’w Assisted D®ttworldv^'de uso^M P ations. 


sltls INTERACTIVE MICROWARE 1/ 
■UJ" »987/SM'PCCArALOG / 


IBM 80 PAGES 224 PRODUCTS 


/ IBM is a 

/ registered trademark of 

f International Business Machines Corp; 

Apple is a registered 
trademark of Apple Computer, Inc. 

APPLE 80 PAGES 303 PRODUCTS 


■ Ifla INTERACTIVE MICROWARE, INC. 

■ 5 S S ■ POB 139, state College, PA 16804 

■ ■ Phone; (814) 238-8294 • Telex 705250 


CIRCLE NO. 208 FOR APPLE, NO. 209 FOR IBM 


TAPENET 


licro 


0-Mainframe 

CONNECTIONS. 


In today’s information 
age, sharing data 

^ between your mainframe and PC 

^ ^ is an essential link. Innovative Data 

Technology’s 1/2-inch, 9-track tape 
subsystems feature the new “LEO” intelligent 
tape controller for the IBM-PC/XT/AT and 
compatibles including the new 386 PC’s. These allow 
users to write and read 7 or 9 track, industry standard tapes 
in densities of 200/556/800/1600/6250 bpi with either ASCII or 
EBCDIC codes compatible with most mini’s and mainframes. IDT 
offers a complete DOS software package of user friendly window 
software utilities with help screens that will enable you to move your 
mainframe data to your PC. Included are: file transfer utilities for both 
IBM labeled or unlabeled tapes, format and dump utilities, 
and a comprehensive backup/restore utility. IDT also has software 
support for XENIX and PICK operating systems. 

IDT manufactures magnetic a 

tape drives and controllers f" 

offering a single vendor , 

interchange requirements. 

For more information, ^ 

contact us today. \, 


J u iNfNOvvTivF Eastgate Mall • San Diego. CA 92121 

^ Idaia (619) 587-0555-TWX: (910) 335-1610 

|W = technology Regional Offices; 

Eastern: (609) 596-4538 
Western: (714) 968-8082 

• DOS/XENIX/PICK/IBM are registered trademarks of Microsoft/PICK/IBM respectively. 
CIRCLE NO. 108 ON READER SERVICE CARD 


When your product or company is 
covered by this magazine, you can order 
custom designed reprints* for use in pro¬ 
motional mailings, sales kits, press releases 
and point-of- purchase displays. 

For more information on how you can 
take advantage of this wonderful promo¬ 
tional opportunity, call or write; 

Jennifer Locke— Reprints Manager, 
Ziff-Davis Publishing Company 
One Park Avenue, New York, NY 10016 
212-503-5447. 


PC TECH JOURNAL 


222 






BOOK REVIEWS 


Window Opened 

With Programmer’s Guide to Windows, Durant, 
Carlson, and Yao have produced a masterful 
introduction to Windows programming. 


Programmer's Guide to Windows 

David Durant, Geta Carlson, Paul Yao 
(Sybex, Alameda, CA 1987) 645 pages, 
paper, $2195 

Despite Microsoft’s 
best efforts in doc¬ 
umentation, the 
daunting steepness 
of the learning 
curve for develop¬ 
ing a Windows ap¬ 
plication is quite 
intimidating. The 
Windows application development tool¬ 
kit, although useful, is not a complete 
teaching device for programming. 

The difficulties of learning Win¬ 
dows programming can be traced to 
the complexity of the environment: its 
object orientation (subroutines often 
pass information as objects named for 
the information they contain), the 350 
different subroutine calls, the relatively 
low-level at which Windows functions, 
and the messaging system for passing 
event notification to the program. Win- 
dows-programming difficulties also 
stem from the philosophical style and 
complexity of the operating environ¬ 
ment. This complexity boils down to a 
simple paradigm: a Windows program 
becomes a customizing extension to 
the operating system with the operating 
system controlling system resources (as 
opposed to traditionally structured 
DOS applications where the reverse is 
true). With all of its intricacies, Win¬ 
dows programming needed a book to 
rationally explain “how to do it.” Enter 
Programmer's Guide to Windows, a 
sorely needed treatment of the topic, 
and it comes none too soon. 

In this book, Durant, Carlson and 
Yao introduce Windows programming 
in a tutorial fashion, taking the time to 
explain the concepts of the Windows 
Development environment. The ap¬ 
proach is straightforward: the autliors 
take a simple, working shell application 


and step it through many iterations as 
the text explores the numerous fea¬ 
tures of Windows. Because most Win¬ 
dows development is done in C, the 
authors expect the reader to be famil¬ 
iar with that language. 

The opening chapters introduce 
the Windows philosophy of program¬ 
ming, the terminology, and discuss the 
basic skeletal structure of a Windows 
application. Here, the concept of a win¬ 
dow is introduced as well as the basic 
objects that form the Windows environ¬ 
ment: pens, brushes, fonts, display con¬ 
texts, bit maps, and color. 

By way of describing the common 
code present in all standard Windows 
applications, the Skeleton program is 
introduced in the third chapter. This 
program outlines the different initializa¬ 
tion steps required of every “good citi¬ 
zen” program operating under Win¬ 
dows. The shell will form the basis of 
the remaining applications covered. 

After covering the foundations: 
messaging, multitasking, objects, and 
message translation, the central chap¬ 
ters of the book take the reader 
through the Windows basics. This topic 
covers interactive communication with 
the user using all of the Windows fea¬ 
tures: scroll bars, child windows, but¬ 
tons, dialogue boxes, the mouse, cur¬ 
sors, DOS files, and the graphical de¬ 
vice interface (GDI). 

The book also covers Windows 
development utilities. By the end of 
this segment, most readers will be able 
to produce a functional Windows appli¬ 
cation. The middle chapters also may 
stand freely as references. The discus¬ 
sion of the GDI, it is worth pointing 
out, is one of the best explanations of 
the topic of viewports and windows 
available. The treatment of coordinate 
transformations is also noteworthy. 

In its final segments, the book 
tours through dynamic libraries, mem¬ 
ory management, and interapplication 
data exchange. All of these points are 


specific to the version of Windows and 
are appropriately brief The book con¬ 
cludes with a description of the actual 
mechanics of producing a Windows 
application: programming tools and 
debugging tools. The text describes the 
key elements of 8086 instruction set in 
order to understand the Windows 
debugger, Symdeb. This useful section 
lists the Windows RIP codes—the 
codes that Windows displays whenever 
it detects a fatal error. 

Key points about Windows pro¬ 
gramming style are woven into liberal 
doses of sample programs. The exam¬ 
ples themselves form the building 
blocks for an individual programmer’s 
own Windows application. 

The book is well-written, its expla¬ 
nations are cogent, and the examples 
are concise. Important, relevant points 
deserving fuller explanations are placed 
in sidebars. The figures amplify key 
points in the text, aiding in compre¬ 
hension. The index is complete, and 
the type is very readable. 

While a few errors exist, most are 
insignificant. The description of the 
operation of the spooler under the 
GDI is thin. Several program examples 
introduce topics that are never covered 
in the text. But, given the complexity of 
the topic, the book’s infrequent out-of¬ 
sequence progression does not detract 
from its overall quality. 

The book is compulsory reading 
for any serious developer of software 
operating under Windows. Even with 
the instability of the Windows develop¬ 
ment platform, as evidenced by the 
advent of the Presentation Manager 
under OS/2, the examples presented in 
this book provide sufficient grounding 
in Windows programming to allow 
immediate upgrading to the Presenta¬ 
tion Manager when it becomes avail¬ 
able. Programmer's Guide to Windows 
should be on every OS/2 and Windows 
programmers’ shelves. (Tinmiiii m 

—JOHN COCKERHAM 



SEPTEMBER 1987 


223 





W hen you give PC TECH 
JOURNAL as a gift to a 
client or business col¬ 
league, you’re giving valuable 
information on systems design 
and integration. 

PC TECH JOURNAL is the 
recognized source of expert 
facts for designers, integrators 
and DP/MIS professionals who 
require current information 
and sophisticated applica¬ 
tions and input. 

Give a gift that’s delivered 
13 times * a year and save 
50% off the annual single- 
copy price of $53.35. 

*Tbur gift subscription includes 
the special PC TECH JOURNAL 
Directory issue published in November! 


THIS CARD 
GIVESAimLEAGUE 
AYEAR’S WORTH 
OF VALUAHE INFORMAnON 
AND INSIGHT 


Send Gift TO: 

I Mr./Mrs./Ms_ 

I Company_ 

I Address_ 

I City_ 

I Send Card FROM: 

I Mr./Mrs./Ms_ 

I Company_ 

I Address_ 

City- 


FOR FASTER SERVICE CALL TOLL-FREE 1-800-852-5200! 


please print full name 


State_Zip 


State_Zip 


OURNAL 


P.O. BOX 2966 
. BOULDER, CO 80322 


4Z817 


□ Bill me 

□ Charge my credit card for $26.70 for 
13 issues. 

Check one: 

□ AmEx □ Visa □ MasterCard 


Card No. 


Exp. Date_ 

Add S6 for postage outside USA, US currency only. Please 
allow up to 60 days for delivery of first issue. 

Basic annual subscription price is $34.97. 


I 

J 








NEED IT FAST? 
WANT TO KNOW MORE? 
DON’T HAVE TIME TO 
SHOP AROUND? 


INTRODUaNG... 


I f you’re like most system pro¬ 
fessionals you’re up-to-date 
about the products in the PC 
marketplace. You’re aware of 
brand and model differences, are 
informed about connectivity and 
compatibility problems, and you 
shop for competitive prices and 
fast service. 

You’re also probably among the 
many PC TECH JOURNAL readers 
who purchase by mail. That’s 
why we’re starting THE MART— 
PC TECH JOURNAL’S First Class 
Mail-Order Section. 

Starting this month, and every 
month hereafter, you’ll find the 
products you’re looking for 
advertised in THE MART—and 
you’ll benefit from the fast 
service and helpful support that 
identifies PC TECH JOURNAL 
advertisers. 

If you’re ready for First Class 
service, you’re ready for THE 
MART. 




MAIL ORDER SECTION! 


AST ADVANTAGE W/128K.$365 

VID0 7VEGAEGA .$425 

GENOA SPECTRUM.$295 

FORTE PJ.$875 

INTERNAL HARD DISKS FOR THE ^T 
SEAGATE USED BY IBM 

PRIAM 40 MB.:$1 195 

PRIAM 60 MB.$1395 

RODIME 20 MB.$595 

RODIME32 MB.$695 

CORE 20 MB"F".$1195 

CORE 30 MB‘ F’’.$1395 

CORE 40 MB.$1795 

CORE 56 MB.$2595 

CORE 7? MR _ 


1e reflects quentUy purchel 


seag; 

seag; 

seag; 


LASEF 
128 Ah 


|uir 

und( 


■Plot’s enha 
Itor softwar 
lompatibles 


HOT" NEUJPRDDUC 


ir AMERICA’S ^ 
LOWEST PRICES 
ARE EVEN LOWER NOWI!! 


(25 HS) 


UNiock ALBUM “A” 

$49.95 


• LOTUS 1-2-3"“ {i.A. 1.A*. 2.0) 

• dBASE lir“ (1.0, 1.1, 1.2 & PLUS) 

• FRAMEWORK"” (i.o. i.i. ii) 

• SYSTAT"” (1.3 & 2.0) 

• SPOTLIGHr” (1.0 & 1.1) 

• GRAPHWRITER"” (4.3 & 4.3i) 

• REALIA COBOL"” (1.2.2.0) 


AB HT. 

B F. HT. 

BF.HT • (25 MS) 


dppcdi lu a I 


bEC VT-100/VT-52, a Retrod 
lo. a Tektronix 4010/4014 orj 
|l Tektronix 4027. Over 12.Ol 
Ijrrently in use world-wide atl 
■rations, educational facilities.! 
lind independent consulting T 


W 


(25 MS) 


IBM XT 256K/1 Dr./20 MB 
IBM XT 256K/1 Dr,/30 MB 
IBMAT1^2K/20 MB 
IBM AT512K/30 MB 
Compaq Desk Pro-1 128K'1 Dr 
Compaq Portable 256K/2 Dr 
AST 6 PAK w/384 K/Advantage 
MCI MSC w 384K 
Samsung/PGS Max 12 
Princeton HX 12/E 


2250 

2299 

3895 

3995 

1699 

1650 

259/369 

175 

109/169 

435/535 


Hercules Color Card/Monochrome graphic 150/299 


Hayes 1200B w/SW 
US Robotics Courier 2400 


349 

419 


iPEPn 


liore information call toll frei 


High Perfo? 
Drive Subsystem 

DRIVE PEI 

|Confi9urotTon 


SU: 



Ithe industry's recognized leader in High Performance Sp€ 
live performed extensive research and developed unmafc 
1 field. Our products offer the COMPLETE solution. 

IxCELX -Switch from five frequencies including the standi;: 
|l2HMz. Uses reliable frequency synthesis to allow compote i: 
jwith all IBM ATs including the TYPE 2 and Model 239 .... 

I Mil-Spec Crystals-The famous Ariel cyrsfols. Choose fronri: 

116-17-18-19-20-21-22-23-24 MHz. 

I FAST 80286-1 0-Micro-processor for 20-24 MHz speeds 




SPECIALS 


□ 


MR Hard nick 


INTRODUCING 


4CaST/r 


Complete 

Forecasting 

System 


For marketing, planning, financial 
and forecasting professionals: 

■ Easy to use menus with on-screen help 
facilities 

■ Most often used forecasting methods 

■ Popular spreadsheet interfaces 

■ Outstanding color graphics 

■ Fast RAM-based program 

■ Thoroughly tested and numericall> 

accurate _ 


Dr MTR 


389 

479 

559 

895 

775 

379 

360/499 

539 

575/675 


ISA MC AMEX COD PO 






Ne<® 


I Exponential smooth 
I .Step-wise and robusi 
capabilities 
I Macro language for 
applications 
I Full documentation 


Only: S35() Demo I 
4(aST/2\: includes a f 
version of the Census'X 
Onlv: S595 Demo E 


“Top Sellers Series” 


UNiock DISK “NO. 101” 

Jt A C ship/handling 

^ I 4.9 O Fofe.gn o-Oe.s S9l . 


LOTUS 1-2-3“ 

(I.A. I.A*. 2.0) 

“Top Seller Series" 
UNIocks individual 
best selling programs 
at a special low price! 




KvO 

(\ei 











































Includes: 

• Motherboard with Intel 80286 
•640KofRAM, 1.2Megfloppy 
•101 key, enhanced keyboard 
•192 Watt power supply 


•Clock-calendar with battery back-up 
• Enhanced set-up and diagnostic 
software and all documentation 
•Western Digital controller card 

80386 Upgrade From $800 




e$2»s 

ncati/m 

When the going gets tough, call in the speed and power 

of the cci 80386. . .This Powerhouse Includes: 

•3 eight-bit, 3 sixteen-bit and 
1 thirty-two bit expansion slot 

*■'$319$ 


Intel 32 bit80386,at14.2MHz 
•640K RAM and 1.2 Meg floppy 
•Full 101 key enhanced keyboard 
•Serial and parallel ports 
•Optional high-speed 80287 
^ Norton Rating avg. 18.4 


THECCIST/3li6WnHPQ-IHS3K 

Software Link’s PC—MOS 386 offers the speed and power of a 
*100,000 minicomputer in a desktop PC. It allows multi-tasking, 
accommodates up to 25 users, and gives them access to up to 
four gigabytes of memory. ..Includes: 

•TheCCI Sr/386 •Monographics adapter 

2.6MB of RAM,1.2 Meg floppy • Monochrome Monitor 
101 key, enhanced keyboard •A high speed 44MB drive 
Serial and parallel port 
PC-MOS386 


Mf$499S 


iComputer Classifieds, Inc. 

17830 State Road 9, Miami, Florida 33162 
(305) 651-5853 Telex 510-600-7725 

Call Today (800)331-5150 
In FL Call (305) 651-5853 
Support Line (305) 651-0073 

No charge for UPS ground shipping. No surcharge for MasterCard or Visa. Florida 
residents add 5 percent sales tax. *30-Day Guarantee-Call or write for details. 

All Trademarks Acknowledged. 


CIRCLE NO. 235 ON READER SERVICE CARD 






































































































































































395 

CALL 

700 

195 

175 

149 
995 
995 

150 
950 

1250 

400 

175 

795 


ADVANTAGE 386 C 
ADVANTAGE 386 PASCAL 
PHARLAP386 ASM/LINK 
PHARLAP386 DOS-EXTENDER 
PHARLAP386 DEBUG 
PC-MOS/386 1 USER 
5 USERS 


SCO XENIX SYSTEM V-COMPLETE 1295 9 95 

SCO XENIX OPERATING SYSTEMS 595 499 

MICROPORT SYSTEM V/AT 549 465 

MICROPORT SOFTWARE DEV. SYS. 249 209 

OTHER SCO & MICROPORT CALL CALL 
ADVANTAGE C+ + 695 CALL 

BTRIEVE 595 459 

C-TERP 498 379 

INFORMIX ESQUC 749 599 

INFORMIX 4GL 1500 1235 

INFORMIX SQL 995 795 

MICROSOFT LANGUAGES C.ALL CALL 

PANEL 625 535 

PANEL PLUS 795 675 

REAL TOOLS * 149 89 

RM/COBOL 1250 949 

RM/FORTRAN 750 549 


135 

39 

55 

59 

89 

599 

69 

CALL 

89 

59 

65 

CALL 

CALL 


NEW PRODUCTS 

DATAPLEX—True relational database system that 
is a powerful, flexible development tool. Includes 
application generator, relational database manager, 
on-line multi-file Query, forms processing system, 
on-line multi-key ISAM, macro command language, 
compiler & text editor. 

List: single: $695 Ours $629 

multi-user; $1,250 Ours $1,149 

C- XPERT— Expert system development tool for 
incorporating A1 programming capabilities into your 
C programs. Includes backward & forward chaining, 
attribute value pairs, frames, inheritance, 
explanations, why facilities, legal and default values 
& powerful text features. 

List $295 Ours $259 

ACTOR—Powerful new language built around 
object-oriented programming, wjth windows being 
defined as objects. Actor makes it easier to include 
& control windows in application programs. 

List: $495 Ours CALL 

QUICK C+-Microsoft’s reply to Turbo C. Fast and 
complete: compilation speed of 10,000 lines/min. 
Includes source-level debugger, graphics libraries, 
library manager, make facility. 

List $100 Ours $69 



LIST 

OURS 

PASCAL-2 

350 

329 

TURBO PASCAL 

100 

65 

BORLAND TURBO PASCAL 



ADD ONS 

CALL 

CALL 

TOOLS FOR TURBO PASCAL 



FLASH-UP NEW 

89 

79 

FLASH-UP TOOLBOX 

49 

45 

METRABYTE DATA ACQ. TOOLS 

100 

89 

T-DEBUG PLUS 

60 

49 

TURBO ASYNCH PLUS 

100 

79 

TURBO EXTENDER 

85 

65 

TURBO HALO 

129 

99 

TURBO MAGIC 

99 

CALL 

TURBO OPTIMIZER 

75 

65 

TURBO PROFESSIONAL 

70 

49 

TURBO POWER TOOLS PLUS 

100 

79 

TURBO POWER UTILITIES 

95 

79 

TURBO WINDOW/PASCAL 

80 

69 


1-800-445-7899 

In NY: 914-332-4548 

Customer Service: 

914-332-0869 

International Orders: 

914-332-4548 
Telex: 510-601-7602 


Terms and Policies 

• We honor MC, VISA, AMERICAN EXPRESS 
No surcharge on credit card or C.O.D. Prepayment by 
check. New York State residents add applicable sales 
tax. Shipping and handling $3.00 per item, sent UPS 
ground. Rush service available, prevailing rates. 

• Programmer’s Paradise will match any current nation¬ 
ally advertised price for the products listed in this ad. 

• Prices and Policies subject to change without notice. 

• New Extended Hours 9AM EST—TPM EST 
*Ask for details. Some manufacturers will not allow 

returns once disk seals are broken. 

Corporate Buyers—Call for special 
discounts and benefits! 


LIST OURS 


SCREEN DISPLAY, WINDOWS FOR C 


CURSES 

125 

89 

W/SOURCE 

250 

169 

FLASH-UP WINDOWS 

90 

79 

GREENLEAF DATA WINDOWS 

225 

155 

W/SOURCE 

395 

289 

MICROSOFT WINDOWS 

99 

65 

WINDOWS DEVELOPMENT KIT 

500 

309 

ON-LINE HELP 

149 

105 

PANEL 

295 

199 

PANEL PLUS 

495 

395 

POLYDESK HI 

99 

75 

POLYDESK ADD ONS 

CALL 

CALL 

QUICKSCREEN 

195 

175 

SCREENPLAY (LATTICE) 

150 

135 

SOFTSCREENHELP 

195 

169 

VIEW MANAGER 

275 

199 

VITAMIN C 

225 

165 

VC SCREEN 

99 

79 

WINDOWS FOR C 

250 

189 

WINDOWS FOR DATA 

395 

315 

ZVIEW 

245 

169 


Programmer’s Paradise 

42 River Street, Tarrytown, NY 10591 

Programm er’s 

nimuT 


LIST OURS 


C+ + 

ADVANTAGE C + + 
PFORCE + + 


$ 495 479 

395 225 


C COMPILERS 
C86 PLUS 

DATALIGHT C DEVELOPER’S KIT 
DATALIGHT OPTIMUM C 
LATTICE C 
W/SOURCE 
LET’S C 

W/CSD DEBUGGER 
MICROSOFT C V 5.0 
QUICK C 
TURBO C 


369 

79 

105 

265 

495 

55 

99 

269 

69 

65 


C INTERPRETERS 
C-TERP 
INSTANT C 
RUN/C 

RUN/C PROFESSIONAL 


300 229 

500 379 

120 79 

250 155 


ASSEMBLERS, LINKERS 
ADVANTAGE DISASSEMBLER 
ADVANTAGE LINK 
ASMLIB 

MACRO ASSEMBLER 
PASM-86 
PLINK 86 PLUS 
UNIWARE X-ASMS 


295 265 

395 359 

149 129 

150 93 

195 109 

495 299 

CALL CALL 


GRAPHICS 

ADVANTAGE GRAPHICS 
ESSENTIAL GRAPHICS 
GRAPHIC 

GSS GRAPHICS DEVELOPMENT 
TOOLKIT 

HALO—ONE LANGUAGE 

HALO —FIVE MICROSOFT LANG. 

HALO-DPE 

METAWINDOW 

METAWINDOW PLUS 

METAFONTS 

METAFONTS PLUS 

TURBO WINDOW/C 

C UTILITY LIBRARIES 
ASYNCH MANAGER 
BAS1C_C 

BLACKSTAR FUNCTIONS 
C-XPERT 

C FOOD SMORGASBORD 
W/SOURCE 
C TOOLS PLUS 
C TOOLS—TURBO 
ESSENTIAL C UTILITY LIBRARY 
ESSENTIAL COMMUNICATIONS 
COMMUNICATIONS PLUS 
GREENLEAF COMM 


GREENLEAF FUNCTIONS 
LINK & LOCATE 
MUl.1 1-C 
PFORCE 
THE HAMMER 
TIMESLICER 
W/SOURCE 

TOPVIEW TOOLBASKET 


185 125 

350 315 

149 135 

295 225 

195 129 

295 265 

1000 CALL 
250 179 


FILE MANAGEMENT 
BTRIEVE 
XTRIEVE 
REPORT OPTION 
BTRIEVE/N 
XTRIEVE/N 
REPORT OPTION/N 
C-TREE 
R-TREE 

C-TREE/R-TREE BUNDLE 

DATAPLEX 

DBClIl/II 

W/SOURCE 
DBC III PLUS 
W/SOURCE 
DB-VISTA 
W/SOURCE 
DB_QUERY 
W/SOURCE 
INFORMIX ESQL/C 
INFORMIX 4GL 
INFORMIX SQL 
PHACT 


245 185 

245 185 

145 99 

595 455 

595 4 55 
345 269 

395 315 

295 239 

650 519 

695 649 

250 169 

500 359 

750 595 

1500 1185 
195 129 

495 389 

195 129 

495 389 

595 479 

995 789 

795 639 

295 265 


DEBUGGERS 
ADVANCED TRACE 86 
BREAKOUT 
C-SPRITE 


80386 TOOLS 


495 375 

300 205 

595 389 

195 155 

195 159 

275 229 

95 CALL 
275 CALL 
95 79 


175 135 

175 129 

99 89 

295 249 

150 95 

300 179 

175 135 

129 CALL 
185 119 

185 125 

250 189 

185 125 


MAKE, LINT, PROFILE UTILITIES 

ADVANTAGE MAKE 

CODE SIFTER 

LMK 

PC-LINT 

PFINISH 

PMAKER 

POLYMAKE 

PRE-C 

SAPIENS MAKE 
THE PROFILER 


CSD DEBUGGER 
PERISCOPE I 
PERISCOPE II 
PERISCOPE Il-X 
PERISCOPE III 
PFIX 86 PLUS 
XVIEW 86 


ADDITIONAL PRODUCTS 
COMMAND PLUS 80 

DAN BRICKLIN’S DEMO PROGRAM 75 
DISK OPTIMIZER 60 

DIGITAL RESEARCH PRODUCTS CALL ( 

FASTBACK 175 

MICROSOFT LEARNING DOS 50 

NORTON COMMANDER 75 

NORTON UTILITIES 100 

PDISK 145 

PFANTASY PACK 995 

POLYBOOST 80 

POLYTRON PVCS CALL 

SIDETALK 120 

SOURCE PRINT 97 

TREEDIAGRAMMER 77 

VENTURA PUBLISHER (XEROX) 895 

VENTURA PUBLISHER (TURBO) 1595 


OTHER LANGUAGES 
ACTOR 
APL*PLUS 
CLIPPER 

JANUS/ADA PACKS 
LATTICE RPG II COMPILER 
LOGITECH MODULA-2 
PC FORTH 
PERSONAL REXX 
POCKET APL 


495 CALL 
595 429 

695 459 

CALL CALL 
750 629 

CALL CALL 
150 109 

125 99 

95 75 


225 

185 

285 


LIST OURS 


75 59 

345 285 

175 139 

145 105 

995 825 

395 229 

60 49 


EDITORS 

BRIEF 

DBRIEF 

BRIEF/DBRIEF BUNDLE 

CVUE W/SOURCE 

EDIX 

EMACS 

EPSILON 

FIRSTIME(C) 

KEDIT 

LSE 

PC/VI 

PMATE 

SPF/PC 

VEDIT 

VEDIT PLUS 


195 CALL 
95 CALL 
285 CALL 
250 199 

195 155 

295 265 

195 149 

295 229 

125 99 

125 99 

149 109 

195 115 

195 145 

150 99 

185 129 


ARTIFICIAL INTELLIGENCE 
ARITY STANDARD PROLOG 
GOLDEN COMMON LISP 
MICROSOFT LISP 
PC SCHEME 
SMALL TALK V 
TURBO PROLOG 
TURBO PROLOG TOOLBOX 
VP EXPERT 


95 79 

495 CALL 
250 155 

95 85 

99 85 

100 65 

100 65 

100 89 


PASCAL COMPILERS 
MARSHAL PASCAL 
MICROSOFT PASCAL 


189 169 

300 185 


BASIC 

BASTOC 

BETTERBASIC 

BETTERTOOLS 

FINALLY 

MICROSOFT QUICKBASIC 
QUICK PAK 
TRUE BASIC . 

TURBO BASIC 


495 399 

199 129 

95 89 

99 89 

99 65 

69 59 

150 105 

100 65 


COBOL COMPILERS/UTILITIES 

COBOL SPII 

MICRO FOCUS COBOL 

MICROSOFT COBOL 

MICROSOFTSORT 

MICRO/SPF 

OPT-TECH SORT 

REALIACICS 

REALIA COBOL 

REALIAMENU 

RM/COBOL 

RM/COBOL 8X 

SCREENIO 

SCREENPLAY 

VISUAL COBOL (MBP) 


329 

CALL 

439 

129 

155 

115 

785 

785 

119 

649 

909 

CALL 

129 

695 


FORTRAN COMPILERS/UTILITIES 

LAHEY FORTRAN 

LAHEY PERSONAL FORTRAN 

MICROSOFT FORTRAN 

RM FORTRAN 

DIAGRAM’ER 

DOCUMENT’ER 

FORLIB PLUS 

lO/PRO 

MATH PAC 

NO LIMIT 

SSP/PC 

STRINGS AND THINGS 


477 

95 

450 

595 

129 

129 

70 

149 

495 

129 

350 

70 


CALL 

CALL 

269 

399 

115 

115 

45 

129 

445 

115 

269 

49 


XENIXAJNIX PRODUCTS 


Programmer's Paradise Gives You Superb Selection, 
Personal Service and Unbeatable Prices! 

Welcome to Paradise. The MS/PC-DOS and XENIX software source that caters to your programming needs 

Discover the Many Advantages of Paradise... 

• Lowest price guaranteed • Huge inventory, immediate shipment • Special orders 

• Latest versions • Knowledgeable sales staff • 30-day money-back guarantee 

Over 500 brand-name products in stock—if you don’t see it, call! 


We 11 Match Any Nationally Advertised Price 


FREE SCIENTIFIC 
& ENGINEERING 
SOLUTIONS CATALOG 

Describes 100 of Ute best software packages for 
solving complex equations, number crunching, 
analyzing data, 3-D CAD/CAM design, technical word 
processing, circuit design, sophisticated grajflucs and 
more-Call for your FREE catalog today! 


CIRCLE NO. 173 ON READER SERVICE CARD 




CANADA'S SOURCE 
FORC 


Compilers • Utilities 8c Aids • Editors 
Interpreters • De-Bugging Tools 
File Access Systems • Graphics 


GREENLEAF 

SOFTWARE© 






Lattice 



LIFEBOAT 


Complete Line of Programming Development Tools 
Full Service and Support - Fast Delivery 

CORPORATE DISCOUNTS 





(416) 449-9252/5 

SCANTEL SYSTEMS LTD. 

801 YORK MILLS RD.. 201, DON MILLS, ONT MSB 1X7 


CIRCLE NO. 240 ON READER SERVICE CARD 


Panasonic. 

OTeleVideo 

coTclata 


PACKARD BELL 

WYSE 286 

DIGITIZERS 


Kurta 12x12 . 

S 454 

Hitachi . 

CALL 

Houston Instruments. 

CALL 

Cal Comp. 

CALL 

Summagraphics 12x12 . . . . 

. . 409 

ELECTRONIC DIGITIZING 

CAMERA & SOFTWARE 

PLOTTERS 


DMP-29 . 

S 1699 

DMP-41/42 - ' . 

. 2360 

DMP-51/52 . 

. 3410 

DMP-51/52MP . 

. 3845 

DM P-40 . 

. . 868 

DMP-56A . 

. 4375 

Roland DXY-880 . 

979 

Roland DXY-980 . 

1279 

Calcomp 


1041 GT . 

. 5729 

1041 GTO W/Plot Mgr .... 

. 6169 

1042 GTW/Plot Mgr . 

. 8729 

1043 GT W/Plot Mgr . 

. 7849 

1044 GTW/Plot Mgr . 

12249 

loline . 

CALL 

Plotter Software . 

CALL 


MULTI USER SY STEMS 

[allo:>1 

UNiSYS 


MONITORS 

TERMINALS 


LASER PRINTERS 
OPTICAL SCANNER 
CAD & DESKTOP 
PUBLISHING 

PRINTERS 

120-D.120 CPS 

MSP-10 .160 CPS , 

MSP-15 .160 CPS , 

MSP-20 . 200 CPS 

MSP-25 . 200 CPS 

PretTiier . 35 CPS 

PANASONIC 


KXP 1080 I 
KXP 1091 I 
KXP 1092 1 
KXP 1592 
KXP 1595 
KXP 3131 .... 

KXP 3151 .... 

All NEC Printers 
All Okidata . . . 

Fujitsu . 

Canon . 

Alps. 

Seikosha. 

C. Itoh . 

Star . 


. . 120 CPS 
. . 160 CPS 
. . 240 CPS 
. . 180 CPS 
. . 240 CPS 
. . 17 CPS 
. . 22 CPS 


S164 

255 

318 

290 

382 

450 

SI 69 
187 
309 
392 
425 
250 
382 
CALL 
CALL 
CALL 
CALL 
CALL 
CALL 
CALL 
CALL 


Scoffsdale Systems 

617 N. Scorrsdole Rd.. Scorrsdole. AZ 65257 

602-941 -5856 1 -800-367-2369 

For Inquiries _ Since 1980 _ For Orders 


CIRCLE NO. 127 ON READER SERVICE CARD 



?lsA_ \ /<2 

compu'ter sales 

PROFESSIONAL OESKTOP 
PUBLISHING SYSTEM: 


Suggested list $12,115 


includes: 

AST Premium 286 Model 170 
Amdek 1280 White Monochrome Monitor Now Only 
Microsoft Mouse ^ 

Texas Instruments Omnilaser 2108 ^ 

Xerox Ventura Publisher 

AST Premium/286-Moclel 170 comes complete with 1 Megabyte of memory and a large 70 
megabyte hard disk for the heaviest storage needs. Other features include 10 Mghz 
operation, true zero wait state, serial and parallel printer ports. 

Amdek 1280-White monochrome monitor specifically designed to support desktop 
publishing applications. Features include 1280 x 800 resolution, white phosphor for 
realistic page viewing and complete IBM compatibility for more software freedom. 

Texas Instruments-Omnilaser 2108 featuring PostScript for great graphics, other features in¬ 
clude 8 pages per minute, high durability and direct connection to PC. 

Zerox-Ventura Publisher is the premiere desktop publishing package on the market today. 
Unique features include, predesigned layouts, built-in text editing, single or double sided 
printing, true eading and kerning, accepts graphics generated by 1-2-3, Symphony. 
AutoCAD and more. 

* includes shipping and unlimited use of our technical support hotline!!! 


Amdek 

Amdek 31 OA-Amber $ 149 

Amdek 41 OA-Amber $ 169 

Amdek 41 OW-White $ 169 

Amdek 41 OG-Green $ 162 

Amdek 600S 13” RGB $ 369 

Amdek 722 RGB/EGA $ 489 
Amdek 1280 Crystal 
White (1280x800) $ 799 

AST Research 

Premium 286 Model 80 $1595 

Premium 286 Model 90 $1995 

Premium 286 Model 120 $2495 
Premium 286 Model 140 $2795 
Premium 286 Model 170 $3195 
Sixpak Premium 256K $ 209 

Advantage Premium 512K $ 449 
Fourport $ 339 

TurboScan $1898 

5251/11 $ 579 

5251/11 Plus $649 

5251/12 $ 519 

3270 Coax $ 649 

3780 $ 599 

Epson 

FX-86E $ 369 

FX-286E $ 519 

LQ-800 $ 519 

LQ-1000 $ 729 

LQ-2500 $ 999 

Hayes 

1200 B with software $ 359 
1200 B w/o software $ 339 
Smartmodem 1200 $399 

2400 B with software $ 509 


2400 B w/o software $ 489 

Smartmodem 2400 $ 589 

Hercules 

Color Crad $ 149 

Graphic Card $ 189 

lnt;el 

inboard 386 $1495 

Above Board PS/AT 128K$ 449 
Above Board AT 128K $ 219 

Above Board 286 512K $ 479 
Above Board PS/286 512K $ 449 
8087(8 Mhz) $ 189 

80287(8 Mhz) $ 299 

Kensington 
Masterpiece $ 109 

Master Piece Pius $ 139 

Maynard 
internal 60 Meg Tape 
Backup $ 799 

External 60 Meg Tape 
Backup $ 949 

Microsoft 

Microsoft Mouse $ 129 

Nec 

Nec Multisync $ 569 

Texas Instruments 
Omnilaser 2108 8pg/1 Min $4595 
Omnilaser 211515p^1 Min $5995 

Torington 

Manager Mouse $ 99 

Video -7 

Vega $ 299 

Vega Plus $ 369 


ORDER TOLL FREE — 800-526-5313 


NO-RISK 3a-DAY SATISFACTION QUARANTEE If yOU’re HOt 100% 
satisfied with any Hardware or Accessories purchased from CDA Computer 
Sales, we will refund your purchase price 100% no questions asked! 

FREE TECHNICAL SUPPORT HOTLINE We Support our customers With 
knowledgable technicians on all products we sell. A Technical Support Hotline is 
provided for all our customers. 

ORDER VIA MAIL - Write: CDA Computer Sales, 31 Marshall Hill Road, 
West Milford, New Jersey 07480. Please include full name, address, and phone 
number. 

ORDER VIA TELEPHONE - 1-800-526-5313 

ORDER VIA COMPUSERVE’S ELECTRONIC MALL - 24 hOUrS a day! 
GO woe 

FREIGHT - UPS GROUND SHIPPING - Add 2o/o ($3.50 minimum). UPS BLUE 
LABEL SHIPPING - Add 5% (two-day delivery. $5.50 minimum). APO/FPO SHIP¬ 
PING - Add 4% ($4.50 minimum). ALASKA, HAWAII, PUERTO RICO - Add 6% 
($6.50 minimum). FOREIGN ORDERS - Please call. 

MAJOR CREDIT CARDS ACCEPTED - No additional charge! Cashiers 
Checks, Money Orders, Personal and Company checks accepted. NO COD’s 
please! 

In N.J. 501-728-8080 — Inquiries S. Cuat:omer Service 
801-788-8088 Mon.-Fri. 8-8 EST Sat. 10-A E8T 


CIRCLE NO. 117 ON READER SERVICE CARD 






































































UNLOCK " Products Remove Copy Protection 

RUNS YOUR SOFTWARE ON ANY HARD DISK 


UNlock "copying” disk allows you to make 
"unprotected” DOS copies of popular original 
program disks. Unprotected backup copies 
perform perfectly, as do copies of these copies. 
UNlock copies run on any hard disk, including 
Bernouli Boxes. No original required in drive 
"A”. Run on a RAM disk simply and conven¬ 


iently. Also, copy DOS 5^A'' programs to 3Vi 
diskettes. For IBM® PC, XT, AT, compatibles, 
256K or more, DOS 2.1 or higher. Back-ups 
don’t require tedious un-installs, and reorgan¬ 
izing your hard disk doesn’t result in your 
software calling you a thief! Back-ups are as 
easy as the "COPY” command in DOS. 


unlock- album "D” plus 

• dBASE III & dBASE III PLUS™ (1.0) 

• FRAMEWORK I &. II™ (1.0) 

• CLIPPER™ (THRU WINTER '85) 

• FASTBACK™ (5.3) 

• CHARTMASTER™ (6.1, 6.2) 

• SIGNMASTER™ (5.1) 

• EXDLLARS & SENSE™ (2.0) 

• LOTUS 1-2-3™ (l.A, 1.A*, 2.0, 2.01) 


$74.95 

(Plus $4 ship/handling. 

. symphony™ (I.l, 1.2) 

• LOTUS 1-2-3 REPORT WRITER™ (1.0) 

• DOUBLEDOS™ (ALL) 

• HARVARD TOTAL PROJECT MGR,™ (1.10) 

• MANAGING YOUR MONEY™ (ALL) 

• THINKTANK™ (2.0, 2.1) 

• MICROSOFT WORD™ (1.15, 2.0, 2.01) 


UNLOCK^^ MasterKey"^ Introductory Price $159.95 

Now, the most comprehensive copy protection removal program ever created. ship/handling) 

Breaks over eighty programs including Lotus 1-2-3™, Symphony™, PCFOCUS™, AUTOCAD™, 
REDBOARD™, CAP™, Clipper™, and smARTWORK™ to name just a few. In addition, generic copy 
busters for ProLok™ and Super L<xk™Jiave been included. With MasterKey, you can break many more 

did 


_ ly I _ 

programs than before. MasterKey, from TranSec Systems, gives you UNlock’s solid performance ana more. 


CH OICE OF THE CRITICS! 
iPERSONA^ “UNlock has two oarticularlv en- 
dearing characteristics: it works, 
and works simply. 1 was able to quickly produce un¬ 
protected copies of Lotus 1-2-3 release 2, Symphony 
1.1, Microsoft Word 2.0, dBase 111 1.1, and Frame¬ 
work ll. These copies performed flawlessly, as did 


users may prefer programs like TranSec’s UNlock 
series.” 

Winn L. Rosch, PC MAGAZINE, MAY 27‘, 1986 


copies of these copies.” 


Christopher O’Malley 


PERSONAL COMPUTING, April ’86 

•J U “Because copy protection can interfere with the 
ability to back up a hard disk, business-oriented 


PRODUCTS 

ORDER TODAY TOLL FREE: 

1 ^ 800 ^ 423^0772 

IN FLORIDA: 1-305-276-1500 


TranSec Systems, Inc., 220 Congress Park Drive, Delray Beach, FL 33445 

Trademarks are the sole property of their respective owners. UNlock is for use only to improve the useability of legally 
acquired and operated software. 


PROIKTYOUR 

COMES or 


n 


n 




Make your collection of PC TECH JOURNAL a handsome addition to your office or home—and 
protect and organize your copies for easy reference! 

PC Tech Journal Magazine Binders and Cases are made of durable luxury-look leatherette 
over quality binder board. Custom designed for PC Tech JOURNAL, every order receives FREE 
transfer foil to mark dates and volume numbers. 



FOR FAST SERVICE CALL TOLL-FREE 1-800-972-5858 

-r 


MAGAZINE BINDERS 

Hold your 
issues on 
individual 


'If 


c/o Jesse Jones Industries 

]!bUI^AL.E£^ 


Please send □ Binders □ Cases Quantity_ 

Payment enclosed $_* Add $1 per case/ 


binder for postage & handling. (Outside USA, add 
$2.50 per case/binder ordered, US currency only.) 
Charge my: 

□ Amex □ Visa □ MC (Minimum order $15.) 



OPEN BACK 
CASES 

Store your 
copies for 
individual 
reference. 

$795 each; 

3 for $21.95; 6 for $39.95. 


Card No._Exp. Date. 


Mr./Mrs./Ms. 

Address 

(Please Print Full Name) 

City 

(Na P.O. Numbers Please) 

State 

Zip 


*PA residents add 6% sales tax. 


= EyTE = 
CCNNECTICN INC. 

I3€TTCM LINE 
PRICE CUSTERS! 

★ ★ ★ PERSONAL COMPUTERS ★ ★ ★ 


IBM Personal System/2 Model 30-002, .... $1449 
IBM Personal Sy8tem/2 Model 60-041, .... $4395 

IBM AT #339, 1.2 Floppy. IBM 30 MB, K.B .$3675 

COMPAQ DESK PRO 286, (12 MH) .$2250 

COMPAQ DESK PRO 386, w/1.2 FI.. 40 MB. .. $4925 
COMPAQ PORTABLE III Model 20,.$4399 


SPERRY IT, W/640K. 1.2 FI.. 44 MB. K.B.. 80287 .$2975 

AST 286, W/512K. 1.2 Floppy. Keyboard .$1649 


_ ★ ★ ★ PLOTTERS ★ ★ ★ 

CALCOMP1043 (A-E). 

CALCOMP 1044 (A-E, Roll). 

HI DMP56A(A - E). 

HI DMP 51/52 (C- D). 

HI DMP 41/42 (C- D). 

HP Color Pro 7440 (A, 8). 

HP 7475 (A-B, 6 Pen). 

HP Draft Pro 7570 (C - D, 8 Pen) . 

HP7580B(A- D, 8 Pen). 

lO LINE LP3700 (A-E). 

lO LINE LP4000 (A-E). 

ROLAND DXY - 990 (A - B, 8 Pen) 

★ ★ ★ DIGITIZERS ★ ★ ★ 


CALCOMP 12 X 12.$ 709 

CALCOMP44x60 .$5099 

GTCO 12x12.$ 525 

GTCO 24x36 .$2450 

HITACHI 15x15.$1395 

KURTA 12x12.$ 580 

KURTA 12x17.$ 675 

SUMMAGRAPHICS 12x12.$ 435 

SUMMAGRAPHICS 12x17.$ 735 


★ ★ GRAPHIC CONTROLLERS & MONITORS ★ ★ 

NEC JC-1401 & VEGA DELUXE,.$ 920 

MITSUBISHI 6922PLPK & ARTIST 1, 

(1024 X 7681).$3195 

HITACHI CM - 2073B & ARTIST 10/16, .... $4349 

Samsung EGA, Monitor & EGA Card.$ 649 

BNW 1 51 (1024 X 10241) .$1245 

VMI 88 25 (1024 x 800N) .$2245 

ARTIST 10 (1024 x 768N) .$2275 

PHOTON (1024 X 512N) 800 -f- . $ 975 


SPECIAL OF THE MONTH 
CAD SYSTEM, AST 1 Meg, 44 MB, 
80287, Ega, NEC 1401, Autocad, Summa- 
graphics 1201, HI DMP 40.$7395 


★ ★ ★ SOFTWARE# ★ ★ 

AUTOCAD 2.6.$2299 

Other CAD Software.CALL 

Computer Assodiate, A/R. A/P. G/LI/G. .. Each $ 429 

VENTURA Desktop Publishing S/W.$ 625 

Lotus.$349 Wordstar R4.$285 

CYMA Med.. Deni. Ortho. Chiro. (Comp. Pkg.) .$1625 


★ ★ ★ PRINTERS ★ ★ ★ 

HEWLETT-PACKARD SERIES II.$1875 

OKIDATA LASER PRINTER.$1595 

NCR LASER PRINTER.$1845 


BROTHER HR 40, with Sheet Feeder .$ 675 

FUJITSU 2200.$ 479 

NEC P6.$ 490 

OKIDATA 193 +.$ 499 

TOSHIBA P341e.$ 725 


# # HARD DRIVES & BACK UP SYSTEMS # # 

PRIME VI50, 44 MB.$ 675 

HARD CARD Plus, 20 MB.$ 675 

SEAGATE 4096, 96 MB.$1195 

ARCHIVE 60MB TAPE B/U.$ 695 


CALL FOR WHAT IS NOT LISTED, 
WEGUARANTEETHATYOURCALLWILLNOTBE 
A WASTE. LEASING AVAILABLE. 

No charges for testing and configuring equipment. 
Prices and availability subject to change 
without notice. 

(714) 778-6496 

Telex: 5101011636 
167 West Cerritos Ave. 
Anaheim, CA 92805 ° 

Open 8 - 5 PST 


CIRCLE NO. 147 ON READER SERVICE CARD 


. $7095 
$10997 
. $4549 
. $3575 
. $2549 
. $ 995 
. $1495 
. $4495 
. $8395 
. $3149 
. $4195 
. $1599 


229 


SEPTEMBER 1987 

































































































20MB PLUS HARDCARD $695 
20MB MAYNARD HOARD $759 
ISl WORM 220MBINT. $3295 
TEAC360K DRIVE $89 

60MB ARCHIVE TAPE $740 
60MB ARCH. EXT. TAPE $740 
60MB GENOA TAPE $935 
60MBSYSGEN $1089 

TOSHIBA 3.5 DRIVE $150 
TOSHIBA 10 MB DRIVE $899 
•TOSHIBA 525 EXT. $349 


Memoi 


1800 + 


IBM AT Compatible 
512K of RAM 
expandable to 1MB 
1.2MB Floppy 
AT Keyboard 
Documentation and 
Diagnostics 
Made in the USA 


1195 


TOSHIBA Lap-Top 

T-1100 PliiQ 10 MB Disk 
1 liuu rius Drive Now Avail. 

(DUAL FLOPPY) 

• 256K Ram Memory tiooc: 

• CMOS 80CS6 Run- 
ning at 7.1 MHz • Two 
720K 3.5" Floppy Drives 

• One Expansion Slot • 

TOSHIBA Keyboard • LCD Display 

• Color Graphics/Monochrome Composite 
Card • One Parallel and Serial Port • Clock Calendar 

• External Floppy Drives Optional • DOS 2.1 


Technical Support and Shipping and Receiving 
(703) 761-617Z 78 
ITS TEK-NET-BBS (703) 690-7462 


"Serving the Nation's Capitol 
and the World" 

_ Software _ 

SUPERCALC 4 $335 

SUPERPROJECT + $295 

WORDPERFECT 4.2 $250 

DBASE 3+ $430 

POXBASE + $335 

FRAMEWORK II $399 

RBASE 5000 $320 

RBASE SYSTEM V $396 

CROSSTALK XVI $99 

REFLEX $96 

TURBO PASCAL $42 

TURBO PROLOG $60 

TURBO LIGHTNING $61 

NORTON UTILITIES $57 

MS WINDOWS $69 

MS QUICKBASIC $65 

MSC-COMPILER $298 

MS WORD $280 

WORDSTAR 2000 $270 

MULTIMATE 


Easy Business 
Accounting Systems 
GENERAL LEDGER $395 

ACCOUNTS RECEIVABLl $395 

ACCOUNTS PAYABLE $395 

INV. CONTROL $395 

RETAIL INVOICING $395 

PAYROLL $458 

ORDER ENTRY $395 

TIME. BILLING & REC. $635 


_ Video Cards 

QUAD EGA + $379 

PARADISE AUTO 
SWITCH $419 

STB EGA $299 

TECHMAR EGA $299 

VEGA DELUXE 399 


NOVELL 

NETWORKING 

DESIGN & 
INSTALLATION 


• Prices subject to change 
12/18/86 
»10% re-stock fee 
on all items 


Open 7 days a week 
(703) 847-4740 (800) 642-2395 
Information and Technology Services, Inc. 

Micro Systems Specialists 
8478A Tyco Rd., Vienna, VA 22180 

_ Drives _ _ Printers _ 

20 MB SEAGATE 65MS $399 NEC P-6 $480 

30 MB SEAGATE RLL $499 NEC P-7 $685 

20MBST4026AT $573 NEC P-5 $1122 

30MBST4038AT $651 NEC P-5XL $1245 

40MBST4051AT $792 PANASONIC 10801 $235 

80 MB ST4096 AT $1273 PANASONIC 1091 1 $299 

40MB PRIAM XT $1395 PANASONIC 1092 $360 

60MB PRIAM XT $1450 PANASONIC 1592 $480 

40MB PRIAM AT $1175 STAR LV1210 $189 

60MB PRIAM AT $1350 STAR NX-15 $383 

BERNOULLI DUAL 10 $1939 STAR ND-15 $445 

BERNOULLI DUAL 20 $2594 STAR NR-15 $537 


ISI WORM 220MB INT. 
TEAC360K DRIVE 
60MB ARCHIVE TAPE 
60MB ARCH. EXT. TAPE 
60MB GENOA TAPE 
60MBSYSGEN 
TOSHIBA 3.5 DRIVE 
TOSHIBA 10 MB DRIVE 
•TOSHIBA 525 EXT. 


Visa, MC, CHOICE, AE 
Leasing, Renting & 
Financing available 


r Boards 


JRAM2 

$129 

JRAM 3 ABOVEBOARD 

$179 

JRAM AT 

$179 

JRAM AT3 ABOVEBOARD $239 

JLASER MODULE 

$265 

JLASER -P AVAIL. 

INTEL ABOVEBOARD 

$438 

AST RAMPAGE 512K 

$485 

ORCHID CRAMRAM 

$291 

ZUCKER BOARD 

$68 

AST6PAK -P W/384 +-• 

$199 

QUADBOARD W/384 

$189 

Chips 



64K 150ns set of 9 
64K 120ns set of 9 
256K/150nssetof9 $ 

256K/120nssetof9 $ 

64x4 

128K Pi^back 
8087-3 $1 

8087-8 $1 

80287 5MHz $2 

80287 6MHz $2 

80287 8MHz $3 


•Software non-returnable 
if opened 

• No surcharge on VISA, MC, 
CHOICE.. .AE, 3% 


NEC P-6 

$480 

NEC P-7 

$685 

NEC P-5 

$1122 

NEC P-5XL 

$1245 

PANASONIC 1080 I 

$235 

PANASONIC 1091 I 

$299 

PANASONIC 1092 

$360 

PANASONIC 1592 

$480 

STAR LV1210 

$189 

STAR NX-15 

$383 

STAR ND-15 

$445 

STAR NR-15 

$537 

STAR NB 24-15 

$699 

STAR SD-10 

$355 

STAR NX-10 

$255 

BROTHER 1509 

$440 

CITIZEN MSP-10 

$320 

CITIZEN MSP-15 

$435 

CITIZEN PREMIER 35 

$485 

TOSHIBA P341 

$835 

TOSHIBA P351 

$1227 

FUJITSU DLP24 . 

$1239 

FUJITSU DM91 

$413 

OKIDATA M182 

$253 

OKIDATA M192 -p 

$412 

OKDATA M193 -P 

$613 

OKDATA M84 

$713 

OKDATA 2410 

$1976 

EPSON FX-286 

$624 

EPSON LX-80 

$285 

EPSON FX-85 

$434 

EPSON LQ-800 

$631 

Laser Printers 


CANON A1 

$2095 

CANAON A2 

$3085 

HP LASERJET 

$2295 

QMS KISS 

$1995 

XEROX 4045 

$CALL 

Specials 


Color RGB Mon. 

$305 

Amdek310A 

$150 

TEAC 360 Drive 

$89 

Samsung Monitor 

$89 

Amdek722 

$549 

NEC Multi-Sync 

$631 

* *Other Systems 


Sharp PC 7000 

$1095 

IBM XT 

$1798 

BMAT 

$2789 


‘Editor’s Choice” 

ITS Turbo XT 

1 year warranty 
30 day 
money back 
guarantee 

■ The $895 ITS 
Turbo XT from 
Information and 
Technology Services 
is our “best buy” 
I recommendation 
with 20MB $1224.00 


PC MAGAZINE 
OCT. 14, 1986 
IBM® PC Compatible 


«895 


00 

complete 


'SPERRY 

PC/IT 


2,895 


^ Superior to the IBM AT 
ITJ Rated 8.8 by InfoWorld 

44MB, 28ms Access Hard Drive 
3 Speed Processor 
Free 8MHz Math Coprocessor 
1.2MB Floppy , 640K Ram 
2 Serial/1 Parallel Ports 
Clock/Calendar, AT Keyboard 
DOS 3.1, Basic, System Guide i 
00 1 year warranty 


Available now 

JSC 


*4495 


ITS 

SYSTEM 386 
BLACKHAWK 


Features; 

• INTEL 80386 CPU and support circuits 

• INTEL designed motherbo^ 

• Phoenix BIOS 

• 18 Mhz dock speed 

• PC/AT compatible 8 Mhz snitchable 
from keyboard 

• 512K RAM standard up to 14 megabytes 

• Parallel/Serial/Clock 

• 8 Slot Expansion bus interface 

2- PC Compatible 8 bit bus connectors 
2-32 bit bus connectors 

• Hard disk/Floppy disk controDer 

• 1.2 megabyte floppy 


BIOSAT8MHZ 


CIRCLE NO. 134 ON READER SERVICE CARD 














287Turbo^^-10/12 


8087 SOFTWARE 

IBM BASIC COMPILER . 

MICROSOFT QUICK BASIC .... 
87BASIC COMPILER PATCH ... 

87BASIC/INLINE. 

IBM MACRO ASSEMBLER. 

MS MACRO ASSEMBLER. 

87MACRO/DEBUG. 

MICROSOFT FORTRAN V4 .... 

RM FORTRAN. 

LAHEY FORTRAN F77L. 

MS or LATTICE C. 

STSCAPL^ PLUS/PC . 

STSC STATGRAPHICS. 

SPSS/PC+. 

87SFL Scientific Functions. 

87FFT. 

OBJASM . 

PHOENIX PRODUCTS. 


8087 UPGRADES 

All MicroWay 8087s Include a one year 
warranty, complete MicroWay Test 
Program and installation instructions. 

8087 5 MHz.$99 

For the IBM PC, XT and cx)mpatibles 

8087-2 8 MHz.$154 

For Wang, AT&T, DeskPro, NEC, Leading Edge 

80287-3 5 MHz.$159 

80287-6 6 MHz.$179 

For 8 MHz AT and compatibles 

80287-8 8 MHz.$259 

For the 8 MHz 80286 accelerator cards 

80287-10 10 MHz.$395 

80387-16 16 MHz.$495 

PC-PAL™ Programmer.$395 

64K 150ns.$15 256K 150ns.$36 

Call for great prices on V20 & V30 


.$465 

..$79 

$150 

$200 

$155 

..$99 

$199 

$299 

$399 

.$477 

CALL 

$450 

$675 

$695 

$250 

$200 

$200 

CALL 


tma 


CtUA 


P 287Turbo runs the 80287 at 
10 or 12 MHz in the IBM PC 
AT, compatibles and the 
new Compaq 386with 100% 
software compatibility. 

10 MHz .$450 

12 MHz .$550 

PC Magazine “Editor’s Choice” 


MICROWAY SOFTWARE 
FOR LOTUS 1-2-3™ 

PowerDialer® Add-In for Lotus 1-2-3 
Release 2. Automated telephone dialing 
from within 1 -2-3. Adds least cost routing, 
automatic carrier selection and automated 
phone book worksheet. Builds cus¬ 
tomized dialing applications. Can be used 

with DesqView. $79 

FASTBREAK^^ employs the 8087 to in¬ 
crease the speed of Lotus 1 -2-3^^ Version 
1A or 1 A*. Users are reporting speed ups 
of between 3 and 36 to 1. When run with 
our NUMBER SMASHER accelerator 
card, recalculation speed ups of 10 to 30 

are being reported . $79 

HOTLINK'*' adds easy linking of spread¬ 
sheets to Lotus 1 -2-3 Version 1A... $99 


287TURBO-PLUS™ 

Speeds up your AT 

Adjustable 80286 Clcx;k 6-12 MHz 
10 MHz 80287 Clock 

Plus Full Hardware Reset.i 

Optional 80286-10 . $175 


Turns your AT into a high speed, multi-user 
Xenix business system! 


287TURBOPLUS 

With 80287 10 MHz 
With 80287 12 MHz 


8 port. Intelligent serial controller with 3% 
response degradation. Includes 8 MHz 
80186 with built in DMA. $1299 


CALL (617) 746-7341 FOR OUR COMPLETE CATALOG 


MICROWAY ACCELERATES YOUR PC! 


FastCACHE-286''' 

Runs your PC Faster than an AT! 

Runs the 80286 at 9 or 12 MHz and the 
80287 at 8, 9 or 12 MHz. Includes 8 
kbytes of 55ns CACHE. 


Compatible with IBM PC, XT, Leading 
Edge Model D, Compaq, and Turbo 
motherboards. Includes 8088 Reboot 
Switch, DCache, Print Spooler and 
Diagnostics. From $399 


LOTUS/INTEL EMS 
SPECIFICATION BOARDS 

MegaPage^"' The only EMS board which 
comes populated with two megabytes of 
cool-running, low power drain CMOS 
RAM installed. Includes RAM disk, print 
spooler, disk cache and EMS drivers. For 
the IBM PC, XT and compatibles.. .$549 

MegaPage with 0K. $149 

MegaPage with 2 megabytes of HMOS 

RAM. $419 

MegaPage AT/ECC'"' EMS card for the 
PC AT and compatibles includes Error 
Correction Circuitry. With ECC, 11 RAM 
chips cover 256K so the user never en¬ 
counters RAM errors. With 1 megabyte 

CMOS RAM . $699 

INTEL, JRAM, or Maynard_CALL 

INTEL INBOARD 386 0K.$1250 


12 MHz 
8086/8087 
Accelerator 
Plus 

A Megabyte for DOS! 

For the IBM PC, XT and compatibles 

PC Magazine “Editor’s Choice” 


, Micro, 
\i/\iay 


P.O. Box 79 
Kingston, Mass. 
02364 USA 
(617) 746-7341 


The Worid Leader 
in 8087 Support! 


MicroWay Europe 
32 High Street 
Kingston-Upon-Thames 
Surrey Engiand KTI 1HL 
Teiephone: 01-541-5466 


















































TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


PRODUCT CATEGORIES 


HARDWARE _ 233-234 

ACCESSORY CARDS.233 

COOLING DEVICES. 

COMMUNICATIONS.234 

COMPATIBLES.234 

GENERAL . 

MASS STORAGE. 

PERIPHERALS.234 

SECURITY DEVICES. 

USED EQUIPMENT. 


SOFTWARE _ 234-241 

ARTIFICIAL INTELLIGENCE. 

BUSINESS.234 

COMMUNICATIONS.234-235 

DATA BASE MANAGEMENT.241 

EDUCATIONAL. 

ENGINEERING.235 

EXPERT SYSTEMS. 

FINANCIAL. 

GENERAL.235 

GRAPHICS.235 

LANGUAGES.235-236 

MULTI/USER SYSTEMS. 

NETWORKING.236 


SOFTWARE continued 

OPERATING SYSTEMS.236 

PROGRAMMERS TOOLS.236-238 

PUBLIC DOMAIN.238 

SCIENTIFIC.238 

SECURITY DEVICES.238 

STATISTICS.238 

TERMINAL EMULATION.238-239 

UTILITIES.239-241 

WORD PROCESSING. 

MISCELLANEOUS 241 

ACCESSORIES. 

BAR CODING.241 

BUSINESS OPPORTUNITIES.241 

PUBLICATIONS.241 

SUPPLIES. 


Advertising Rates and Information: 

PC Tech Journal Marketplace 

PC Tech Journal Marketplace is a special 
economical section for product and service 
listings. 

Listings are grouped by category and sold by 
column inches. Second color option 
available. 

Standard Directory Listings are also available 
for a minimum of 3 issues at $170 per issue 
($510 total). 

For additional information 
call 212-503-5115. 


PC Tech Journal Classified Advertising Staff 
One Park Avenue, New York, NY 10016 
(212) 503-5115 


Advertising Director 
Kathryn J. Cumberlander 
Sales Manager 
Daniel L. Rosensweig 
Sr. Advertising Coordinator 
Monica Dixon 
Advertising Coordinator 
Angela Kiffin 


Sales Assistant 
Linda Annis 

Production Manager 
Anne R. Brockinton 

Production Coordinator 
Elliot Appel 


Account Managers 


Stanley H. Robinson (212) 503-5116 

AL, AR. lA, IL. IN, KS, KY, AZ, CO, OR, NM, LA. 

MI, MN, MO, MS, NB, ND, OH, OK, SD. TN. TX, NV, 
AK, GA, UT, CA (ZIP 92999 & DOWN), CANADA 
(OTHER THAN BRITISH COL.) AND ALL OVERSEAS 
CALLS. 


Lisa B. Stick (212) 503-5172 

CT, MA, ME, NH, NJ, NY, RI, ID, MT, MD. VT, DC, 
DE, HI, NC, SC. FL, VA, WV, WI, PA, WA, WY, CA 
(ZIP 93000 & UP) BRITISH COL. 


232 


PC TECH JOURNAL 























































HARDWARE/ ACCESSORY CARDS 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


HARDWARE/Accessory Cards 


DIGITAL SIGNAL PROCESSOR 

The Model 10 coprocessor board is based on the 
16/32 bit Tl TMS 32010 and is designed for ap¬ 
plications in communications, speech, instru¬ 
mentation, and numeric processing. A IK 
complex FR takes 90ms. Offered with onboard 
12 bit 80 Khz A/D and D/A. Includes all utility 
and applications software. $650-$850. 
DALANCOSPRY 

Suite 241 2900 Connecticut Ave. NW 
Washington, DC 20008 
(202)232-7999 


ADD 4 SLOTS TOIBM-PC! 

The Addcard allows updating your IBM-PC sys¬ 
tem by adding 4 more card slots. It easily in¬ 
stalls in the 5 slot motherboard providing 8 slots 
total. Accepts many boards including turbo, 
modem, floppy or hard disk controllers ram, 
serial-parallel ports, security & others. Only 
$79.00 + $3 P&H. Visa & M/C accepted. 

Merak Industries 
8704 Edna 
Warren, Ml 48093 

1-800-231-4310 Ext 768 or 313-562-9768 



IBMAT SPEEDUP 


THE HIGH performance 
Speedinjectof from Ariel 

-- - A fiiiu/ aiitnmatin Soi 







® A fully automatic Speedinjector 

for all IBM ATs including speed 
limiting ROM BIOS. Uses reliabje 
2 B B / 2 s 7 frequency synthesis for total 

ir 

t' 1P^\\ switching " 

With The XCEU Sm'Eu'sSsT 

.* 

(Suggested dealer installation charge $49.95) 

^ fast 80286-10 -Replacement CPU for speeds of «cUJ-/l) $259.95 

f;; \ 10 MHz and above.• 

FAST 80287 - 8,10,12,14 and 16. Speeds test. 

rated & guaranteed . /mrpd scall 

ov FAST RAM 128K & 256K, 100NS & 120NS .^ 

^ mil-SPEC crystals - The Famous Ariel C^stals. Choose from (Crystal/ 
CPU speed) 16/8,17/8.5,18/9, ®^^^(;AT-j6//7//fl//9/20/ $19.95 

increase overall speed up to 300% 

Order Line; 

800 - 641-3322 ext mo 

Direct Line; 

201 - 788-9002 

FULL 2-YEAR WARRANTY 
ON ALL PRODUCTS 


Ariel Computer Corporation 


Post Office Box 866 a Flemington, NJ 08822 

CIRCLE 265 ON READER SERVICE CARD 



TECH MARKETPLACE . 

Second Color Option Available 


East and 
Eacilitating. 

DISKETTE DUPLICATION 
All formats. Quality tested. From 25 
to 1000 duplicated in 24 hours—25,000 
per week. 


COPY PROTECTION 
NoClone copy protection. Each appli¬ 
cation uniquely encripted. 

DOCUMENTATION PRODUCTION 
Complete coordination service. Text 
printing. Custom sleeves, labels and 
tabs. 

PACKAGING ASSEMBLY 
Full turnkey service. All types of 
binders. Shrink wrapping and ship¬ 
ping cartons. 

DELIVERY FULFILLMENT 
Computerized Inventory. Pick and 
ship to your customer list. National 
delivery service. 


_DISKETTE DUPLICATION AND PRODUCTION 

1050 North Fifth Street, San Jose, California 95112 
(408) 947-1161 OUTSIDE CA; 1-800-826-4296 

CIRCLE 266 ON READER SERVICE CARD 



TMS 32020 yS\ 

PC COPROCESSOR S^ 
BOARD \M^ 


•20 MHz, 5 MIPS, Addressing 256K 

• 1 Clock 16 Bit Multiply 

• Ideal for High Speed Numerical 
Analysis, Graphics, and DSP 

• External User BUS for A/D & D/A 

• Monitor/Debugger & C Utilities 

• Fractals, Rotations, FFT Demos 
and Source Included 

$900 board & 32K 
$1100 board & 256K 
$150 TMS32020 assembler 

SYMMETRIC RESEARCH 

15 Central Way, Suite 9, Kirkland, WA 98033 

206 - 828-6560 

CIRCLE 267 ON READER SERVICE CARD 


COMMUNICATIONS 

Category 
begins on next page 


PC TECH JOURNAL 
MARKETPLACE is a 

special economical 
section for product and 
service listings. 

Listings are grouped by 
category and sold by 
column inches. 

Second color option 
available. 

Standard Directory 
Listings are also available 
for a minimum of 3 issues 
at $170 per issue 
($510 total). 


SEPTEMBER 1987 


233 


















































HARDWARE COMMUNICATIONS—SOFTWARE COMMUNICATIONS 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Communications 



IBM COMPATIBLE RS232 EASI-DISK 
3V275V4" FLOPPY DATA STORAGE & 
TRANSFER SYSTEMS 

Information Transfer to/from Non IBM Com¬ 
patible Systems to/from IBM and Compati¬ 
bles: (Over RS232 Interface or 488 Interface). 


iiB 


• Reads & Writes IBM PC/MS DOS Disks 

• RS-232CI/0/488 

• Rugged Portable Package/Battery Option 

• ASCII or Full Binary Operation 

• Baud Rates 110 to 38.4 K Baud 

• Automatic Data Verification 

• Price $895 in Singles - OEM Qtys. Less. 

28 other systems with storage from 100K to 35 megabytes. 

CIRCLE 268 ON READER SERVICE CARD 


ANALOG & DIGITAL 
PERIPHERALS. INC. 

815 Diana Drive 
Troy, Ohio 45373 
513 339-2241 
TWX 810 450-2685 


ARC-MAP 

Asynch RS-232 Comm - Monitor/Analyzer Prog 
Use PC to diagnose data communications. With 
cables, manual; 2-19200 BPS; 32K bfr; data, er¬ 
rors, mdm sig’s; Passive, Active, BERT; ASCII, 
EBCDIC. Hex, Dec, Oct; bfr search; event traps; 
timer; save strings, setups, data; EASY use!! 
$249.30dayM/B 
George Driver 
1316 El Rancho Dr. 

Bakersfield, CA 93304 
(805)835-1916 

Compatibles 


Peripherals 


TURBO 
lOMHz 
MMB 
AT/XT 



ATSI.ISO S1.800WSEAGATEST-2S140MB 

HI RtS 1720x350) AMBER MOMIOR • INTEL 8028&6710 MH/ • ONE 
MB RAM ON BOARD • PHO0JIX BIOS • HERCULES EMULATION 
GRAPHICS CARO vk/PRINTER PORT • SERIAL PORT • OPERATES 
MS/PC DOS XENIX UNIX GW BASIC • 8 SLOTS • WD CONTROLLER 
2F072H0 • ENHANCED KEYBOARD w/LEOS • 200 W PCWER • ON 
BOARD CL0CKAVU.ENWR • 12MB FLOPPY • HAREWARE RESET • 
SPEAKER • 00287 SOCKET • ACCEPTS ALL IBM PARTS • OPTL 
EGAXOLOR 0" WAlTn2 MW ‘FULLY SET UP7TESTE0 • MANUALS • 
ONEYEARPARTSA-ABOfl 

XTS6S0 S900wSEAGArE22S20MB&1FO 

HI RES (720x350) AMBER MONITOR • INTEL 8068-2 4 77/80MW 
OPTIONAL MEC V-20 OR 10MWRUNNING300% WSTER THAN IBM PC 
. 640K ON BOARD • PHOENIX BOS • 150-W • HERCULES EMULATION 
GRAPHICS CAflOYw PRINTER PORT • OPERATES MS/PC-OOS GW 
BASIC • 8 SLOTS • MULTI YO CARD WITH 2 FD CONTROLLER 
PRiNTER/GAME/SERIAL PORTS • BATTERY BACKUPED 
I iME/CALENDAR • ENHANCED KEYBOARtYw LEDS • 150 W POWER • 
TWO 360K FUJITSU DRIVES • 8087 SOCKET • SPEAKER • ACCEPTS 
All IBM PARIS • fully SETUP/TESTEO • MANUALS • ONE-YEAR 
PARTSLABOR* 

386 S« MULTI-USER SYSTEMS PLEASE CALL 
PORTABLE XT/AT SYSTEMS TOO 
PCPHIMESYSTWS.INC. 

800 - 451-8279 


OPEN 7 DAYS 


VI8A/MC/AE 


135W26THST 0THFL 6951WARNERST SUITE294 
NEW YORK NEW YORK 10001 HUNTINGTONBEACH CA90706 

(212)627-4485 (800)451-5279 

CIRCLE 269 ON READER SERVICE CARD 


SOFTWARE/ 

COMMUNICATIONS 

continued on next page 


CREATE A DISKLESS PC! 

PC-ROMDRIVE allovi/s users to create a “Disk¬ 
less PC” capable of booting a ROM-resident copy 
of MS-DOS and/or user application programs. 
PC-ROMDRIVE consists of a PC-compatible 
ROM/PROM expansion board and the PC- 
ROMDRIVE software. PC-ROMDRIVE is priced 
at $195 for single units. Quantity discounts and 
OEM arrangements available. MC/VISA 
ALDIA SYSTEMS. Inc. 

RO. Box 37634 
Phoenix. Az. 85069 
(602)866-1786 



AUTOMATIC 

DISKETTE 

DUPLICATOR 

• Runs stand-alone or attached to PC 

• Copies 5'/4-inch and 3'/ 2 -inch 
formats, including IBM PS/2 

• One-button unattended operation 

• Removable input/output cannisters 

• Serialize/Print Labels/Test Alignmen. 

$5,995 



VICTORY ^ 
ENTERPRISES 

technology Inc 

Call 1-800-421-0103 

(512-450-0801) 

CIRCLE 270 ON READER SERVICE CARD 


Peripherals 


SPEECH SYNTHESIS 

SynPhonix: TRUE Unlimited Speech Synthesiz¬ 
er for IBM-PC/XT/AT/jr & compatibles. This low 
power short card includes an SSi263 speech 
chip, amplifier and speaker. Software includes 
Text-to-Speech, Phonetic Editor, Talking Clock 
& demos. Can be programmed with BASIC and 
other languages. Prices start below $200. 

S ynPhonix 

Electronic Speech Articulator 

Artie Technologies 
55 Park St., Suite 2 
Troy. Ml 48087 
(313)588-7370 


SOFTWARE 

Business 


LP88-SPREADSHEETLP 

Our best-selling linear programming system 
solves problems w/1000 constraints and 5000 
variables, reads/writes Lotus worksheets, many 
other advanced features. IE News says “the flex¬ 
ibility and features of this program are a bargain 
at its low price! Req. 192k. $149 w/manual and 
8087 support. $29 demo. 

Eastern Software Products, Inc. 

P.O.Box 15328 
Alexandria, VA 22309 
(703)360-7600 


FastTRAP^ 


The pointing device of the future is here! 



• Two and three axis pointing capability 

• High resolution trackball for X and Y axis input 

• High resolution fingerwheel for Z axis input 

• Use with IBM® PC’s. XT's. ATs and compatibles 

• Three input buttons 

• Full hardware emulation of Microsoft® Mouse 

• Standard RS-232 serial interface 

• Includes graphics drivers and menu generator 

• Easy installation 

• 1 year warranty 

• Made in the U.SA 

ONLY LTS/C Corp. 

SI49 00 ^ South Limestone Street 

IZrZ Lexington, Kentucky 40508 

(606)233-4156 
(800) 872-7279 


3-D TRACKBALL FOR IBM 

CIRCLE 271 ON READER SERVICE CARD 


Communications 


PC SERIAL DATA ANALYZER 

Use your IBM PC or compatible to analyze data 
streams between serial devices. Windows show 
each devices transmissions in ASCII or HEX. 64K 
buffer. Signal line monitoring, disk save, “Lotus” 
style interface, an invaluable tool for debugging 
serial interfaces. DISK and MANUAL $150.00 
TRIPLE C SOFTWARE 
1827 S.W. 24th Ave. 

Fort Lauderdale, FL 33312 
(305)583-0687 


^timeslips'^ 

$99.95 

POP-UPTIME 8c BILLING SOFTWARE 

"Jewel of a Billing Program'—INFOWORLD, RATED 9.3 
Perfect for Attorneys, Accountants, Consultants PR/Advertising 
and ANY service professional. 


•Tracktime like a "stopwatch" 

• Batch enter time/expense data 

• Over 5,000 professional bill 
formats with aged receivables, 
flat fee and more 


• Produce custom business and 
financial reports 

• Export to spreadsheets and 
databases 

•Track retainer/trust account 


• Optional G/L interface now available 

NEW!!! TIMESUPS in more reports, more capacity, more 
speed, auto back-up and much more.—$199.95. Hard Disk 
& 384K required. 

For rush service/more information, call (617) 468-7358. 

Add $7 s/h. Not copy protected. 30-day money back guarantee. 

Call (800) 225-5669 to order 

r 3 NORTH EDGE „ 

L — = I ropp Hsmilton, MA 01936 ■ 

= — circle 272 ON READER SERVICE CARD | 


TECH MARKETPLACE . . . 

the comprehensive guide to products and services in the 
MS DOS market. 


234 


PC TECHJOURNAI 





















































SOFTWARE/COMMUNICATIONS—LANGUAGES 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


General 


IMPORTANT NEWS FOR DESQVIEW/AST 
SPECIAL EDITION USERS 

Time is running out for you to upgrade to DESQview 2.0 
at the special low price. If you act before September 30, 
1987 you get DESQview 2.0 for only $50 plus $5 ship¬ 
ping and handling (add 6.5% sales tax in California). 
After that date you can still upgrade but your cost will be 
$80 plus $5 shipping and handling. So hurry and save. 
Send your DESQview registration card and check to: 

DESQview 2.0 Upgrade Offer 

Quarterdeck Office Systems • 150 Pico Blvd. • Santa Monica, CA 90405 
Tel. (213) 392-9851 


Communications 


1 


ETHERNET 
FOR PCs. 


PC/TCP is a complete 
ethernet package for PCs. 
Connects PCs to other 
PCs or UNIX hosts. 

Runs on any PC 
or compatible and requires 
a 3COM, Interlan, Proteon, 
or BICC board. 

Price: $400 per PC. 


UnlPrcssSoftunrc 


2025 Lincoln Hwy. 

Edison, NJ 08817 
800-222-0550 (Outside NJ) 
201-985-8000 
Telex: 709418 

CIRCLE 273 ON READER SERVICE CARD 


Engineering 


METAL FABRICATORS 

PC/Cultist takes input from your bill of mate¬ 
rial—Detail drawing and calculates the best 
cutting combination for any length stock and 
prints a shop ready cutting list and scrap report. 
Also an optimization feature finds best multi 
length for mill orders. Price $300. 

Demo Disk $25.00 
THE JOSEPH ALBERT CO. 

P.O. Box 611 

Blue Island, Illinois 60406 
(312)349-9032 


ENGINEERING 

SOFTWARE 


You will save hours of 
developnnent tinne with our 
library of integrated progranns. 

• Graph Plotting 

• Equation Processing 

• Simultaneous Equations 

• Complex Arithmetic 

• Pop Up Calculator 

• Fourier Transforms 

• Top Down Designer 

• and more. 

For a FREE CATALOG: 
write Pulse Research, Dept 
Eng 4, P.O. Box 696, 
Shelburne, Vt 05482 (802) 
985-2928 

CIRCLE 274 ON READER SERVICE CARD 


TAPE/DISK CONVERSIONS 

Conversion services to or from over 800 com¬ 
puter systems: 

• Magtapes 

• Micro Computers 

• Mini Computers 

• Word Processors 

• Typesetters 

Our conversion capabilities surpass most in the 
industry. 

PIVAR COMPUTING SERVICES, INC. 

165 Arlington Hgts. Rd.#T 
Buffalo Grove, IL 60089 
(312)459-6010 


Grapihcs 



You can NOW 
with SLEd! 


SLEd offers a remarkably simple 
method of creating graphics 
and incorporating them into 
your documents using your ed¬ 
itor and a laser printer ... 
SI 49.95 


SOFTWARE 

P.O. Box 6158 
UUle Rock. AR 72216 
501-376 2083 
CIRCLE 275 ON READER SERVICE CARD 


Grapidcs 


FORTRAN GRAPHICS LIBRARY 

GRAFMATIC (screen graphics): 75 MS 
FORTRAN/Pascal, R-M/Profort, Lahey FORTRAN 
callable subroutines. Fully documented, prof, 
graphics capabilities, Inc. general utility, 2-D in¬ 
teractive, total 2-D plots, 3-D plots and solid 
models. $135. H-P or H-l plotter? get 
PLOTMATIC, complete plotter graphics library. 
Interfaces w/GRAFMATIC. $135. Both $240. 
MICROCOMPATIBLES, INC. 

301 Prelude Drive Dept. J 
Silver Spring, MD 20901 
(301)593-0683 

35mm SLIDE FROM YOUR PC 

COMPUTER SLIDE EXPRESS converts graphic 
files produced on the IBM PC into brilliant 35mm 
color slides with color resolution 400% better 
than your monitor. Leave your printouts behind. 
Use high resolution color slides up to 4000 line. 
COMPUTER SLIDE EXPRESS $9/slide. 

VISUAL HORIZONS 
180 Metro Park 
Rochester. NY 14623 
(716)424-5300 

C GRAPHICS. ONLY $89! 

GRAF-PAC: Over 90 fast functions. 

• Complete window management 

• Point, line, lineto, polyline 

• Circle, ellipse, blockfill, blocksave 

• Fonts and font editor 

• And much more... Supports lattice, MS, 
Turbo C 

The Enaar Software House 
P.O. Box 10072 
Costa Mesa, CA 92627 
(714)631-2140 

PC PEN-PLOTTER EMULATION 

FORTRAN callable, Versatec/Calcomp compat¬ 
ible (PLOTS. PLOT. AXIS. LINE. SYMBOL, etc. plus 
extras) plotter emulation for CGA, EGA, Here, 
Epson, C. Itoh and compatibles. Libraries for MS 
3.3/4.0 and Lahey F77L. Includes 100-f page 
manual, complete examples on disk. Only $150, 
call for educational discount and PGC prices. 

F and S Software 
7604 Peacock Drive 
Huntsville. Alabama 35802 
(205)881-6268 


Graphics 


TEMPLE 

DATATAP™ GRAPH‘S 
for 

IBM XT,AT,PS/2 

Developed at Temple University 

BEST SCIENTIFIC 
PLOTTING SOFTWARE 


x-o. 



INTERACTIVE, introductory 
WYSIWYG 

TEXT CHARTS SQQ.OO 
TRANSPARENCIES 

MIHAUSIN ASSOCIATES I 

600 HONEY RUN ROAD 
AMBLER, PA 19002 
21S-646’3814 

CIRCLE 276 ON READER SERVICE CARD 


Languages 


FIRMWARE DEVELOPMENT IN C 

REX-C/86 C package supports ROM code gen¬ 
eration. Includes XC86 C compiler which imple¬ 
ments draft ANSCIC standard, supports-in-line 
assembly, produces optimized 8086/87/186 
reentrant code for real-time environment, gen¬ 
erates separate segment for initialized data and 
string constants for ROM-based applications, 
produces object file in Intel OMF with debug in¬ 
formation, global and local symbols with data 
type and line numbers for high-level debugging. 
Price is $750 which includes XC86, linker, loca¬ 
tor, librarian, hex formatters, and run-time li¬ 
brary source. 



SYSTEMS & SOFTWARE. INC. 
3303 Harbor Blvd., oil 
Costa Mesa, CA 92626 
(714)241-8650 



SEPTEMBER 1987 


235 






























































































SOFTWARE/LANGUAGES—PROGRAMMERS TOOLS 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Languages 


Programmers Tools 


** Introductory Special ** 

FTL MODULA-a ONLY $73.95 


Large Memory Model Modula-2 Compiler for MSDOS Systems. 

Includes: Compiler, Linker, Editor, 8087 support, and full Library sources 
FTL Modula-2 can create programs as large as your available memory. 

Don’t Delay Order TODAY!! 

SAVE $10.00 when you order one 

or more of the support packages. Workman & Associates 

Editor Toolkit $39.95 1925 E. Mountain Street 

Small Compiler $49.95 Pasadena, CA 91104 

8087 support (SMM) $29.95 (818) 791-7979 

CIRCLE 277 ON READER SERVICE CARD 


TURBO DEVELOPMENT SYSTEM 

Only $39 - A complete environment for devel¬ 
oping Turbo Pascal programs. Find and correct 
all syntax errors in one pass. In many cases you 
have the option of checking only sections of your 
program. Includes built-in editor, DOS Shell 
as well as Delete, Rename and copy without 
exiting program. Not copy protected. MC & Visa 
welcome. Add $3forS/H. 

MicroHelp, Inc. 

2220 Carlyle Drive 

Marietta, GA 30062 

(800) 922-3383 in GA (404) 973-9272 


TURBO PASCAL GENERATOR 

GTP APPLICATION DEVELOPMENT SYSTEM 
Builds complete, working applications. 

You give it spec’s, it writes error-free code 

• Indexed Data Bases • Multiple Screens 

• Report Generator • Menu Generator 

• Context-Sens. Help • Global Searching 
Easy to Use Price $200.00 Visa/MC,ck,M0 
AEF 

RO. Box 928 
Katy,TX 77492 
(713)391-8570 


FINALLY! MODULES 

Add class to your compiled BASIC programs with 
FINALLY ! MODULES. Use pull-down WIN¬ 
DOWS, horizontal menus, pop-up help screens, 
input screen and directory managers. For use 
with FINALLY! Library and Quick Basic 2.0 or IBM 
compiler 2.0.30 day MoneyBack guar. Visa/MC/ 
CK/MO. FINALLY! MODULES is $99+$4 s/h. 
Komputerwerk Inc. Dept PCT 
851 Parkview Blvd. 

Pittsburgh, PA 15215 
(412)782-0384 


Networking 


NOVELL NETWORKING PRODUCTS 

When reliability and performance really count you 
can’t afford anything less than Novell. We offer 
quality Novell products and accessories, fast 
courteous service and competitive pricing for all 
your networking needs. Our experienced staff is 
waiting to serve you. Call today for information 
and quotes. 

BENEDEK ENTERPRISES 
104 Cool Springs Road 
White Oak, PA 15131 
412-751-8381 


MENUET™ 

MULTIUSER LAN MENU SYSTEM 
Organize all applications into one menu system 
Create professional network menus without batch files 
Access programs quickly with one-key or cursor-select 
Customize menus, coiors, passwords for each user 
Give or deny access to DOS to each user 
Allow user l^on and logoff without reboot 
Provide context-sensitive help for menus and options 
Run programs. DOS functions, batch files 
Create, delete, and modify menus quickly and easily 
Password protect user-ID's and menu options 
Maintain a virtually unlimited number of user-ID's 
Build systems wKh up to 200 menu screens 
Add up to 24 options per menu 
Nest menus up to 20 deep 
Written in fast, compact ‘C language 

$ 99.50 

License for one Network 

Network Support Corporation 
3701 Kilby Drive, Suite 1110 
Houston, TX 77098 
(713) 521-1211 

Dealer and Distributor Inquiries Welcome 
CIRCLE 278 ON READER SERVICE CARD 


PROGRAMMERS TOOLS 

category continued on next page 


ofarbware Modula-2 

• Full 3rd Edition Language 

• Large Memory Model/Unix make 

• DOS Linker Compatible Object 

• Both 8087 and 8087 simulation 

Very fast compiler, runtime source, many exten¬ 
sions, site licensing, assembler interface. $89.95 
MC/VISA/CorpPO/CK 
farbware 
1329 Gregory 
Wilmette, IL 60091 
(312)251-5310 


Operating Systems 


Multitasking 
DOS 2.1 - 3.2 
PC & 286, 386 real 

1) Do windows <&. use numeric 
variables in BAT files 

2) Run up to 23 propams con¬ 
currently with full intertask 
communications 

3) Has a system status and 
utilities pop-up screen 

''Extended DOS'' $ 39 

Pgm interface tech ref $ 120 

Distributed Software 
3951 Emerson St. 

Marietta, Ga. 30062 

_ 404-977-0152 

CIRCLE 279 ON READER SERVICE CARD 


Programmers Tools 


IBM PC X-ASSEMBLERS 

Develop MPU products on your 
PC! 21 different fast cross- 
assemblers. Both absolute and 
relocatable. Linker, Locater, 
Librarian, Format Converter, 
X-reference, Macros, Public, 
Local symbols and more. 

rslins 

RELMS^" PO BOX 6719 
SAN JOSE, CA. 95150 
TWX 910-379-0014 
(408) 265-5411 
(800) 448-4880 

CIRCLE 280 ON READER SERVICE CARD 


TURBO PACKAGE 3.0 (for Turbo Pascal) 

MULTI-TASKING, MULTI-PROCESSING, & MODULAR REENTRANT 640K PROGRAMS 
FREE: A multi-processor data entry program for 2 or more machines. 


Don’t pay high prices for a network. Turbo 
Package has true multi-processing. Use all the 
power and memory you need. 

A file processor LAN only gives you shared 
disk drives and a print spooler. Turbo Package 
lets you run data entry on several PC’s, 
number crunching on a 386, intelligent file pro¬ 
cessing on an AT/XT, and print spooling. Hard¬ 
ware required: one PC or compatible. Any 
MIMDA configuration is possible. 

Balance your work load and reduce hard¬ 
ware costs. Network with a modem (Wide Area 
Network), RS232, or RS422 (Local Area 
Network). 

Few code changes required. Call 640K pro¬ 
grams, single processor tasks, and multi¬ 
processor tasks just like procedures and 
functions. 


You also get ZapIO, a high speed screen 


10 that works with writelnQ. 

Turbo Package 2.0 

w/ 640k Pascal programs.$59.95 

w/ Multi-Tasking.89.95 

Turbo Package 3.0 

w/ Multi-Processing.149.95 

SuperMath 32-bit toolbox 

40-h math routines.24.95 


90 day money back guarantee (In Texas add TAX) 
Visa. M/C. or COD Shipping: USA $5 

Foreign $10 


Conversational Computer Systems 
5371 Verbena Rd. ' 

San Antonio, TX 78240 
Ph: (512) 692-0353 

^CIRCLE 281 ON READER SERVICE CARD 


FIRMWARE DEVELOPMENT 



LINK & LOCATE enables PC users to produce ROM-based 
firmware for 8086/87/186 from object files generated by 
popular C compilers, such as from Microsoft, Lattice and 
Borland’s Turbo C, and MASM from Microsoft, Provides full 
control of segment placement anywhere in memory. Sup¬ 
ports output of Intel HEX file for PROM programmers, Intel 
OMF absolute object file for symbolic debuggers and in- 
circuit emulators. Includes Intel compatible linker, locator, 
librarian, hex formatter and cross reference generator. $350. 

NEW! Includes utility to support PC based PROM 
programmers. 


SYSTEMS St 
sU SOFTWARE i 

3303 Harbor Blvd., C11, Costa Mesa, CA 92626 

Phone (714) 241-8650 FAX (714) 241-0377 TWX 910-695-0125 

CIRCLE 282 ON READER SERVICE CARD 


236 


PC TECH JOURNAL 


































































SOFTWARE/PROGRAMMERS TOOLS 

TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR T HE MS DOS MARKET 


Programmers Tools 


Structure for Assembly? 

Unique program adds structure to assembly 
language. IBM/MASM compatible. Develop and 
debug faster with structured concepts. If-then- 
else, select-when-other, do while, do until, do 
incremental, all combinations, and do forever. 
Leave/leaveall loop exits, and file includes. Nest 
16 deep. $50. 

LANEY SYSTEMS, INC. 

3 Office Park Drive Ste. 100 
Little Rock, AR 72211 
501-225-7755 


ASSEMBLY LANGUAGE TOOL 

VersiCREF’“ creates a sorted Master Cross- 
Reference Listing of an entire application from 
the MASM CRF files. Pinpoints which source 
modules are affected by changes to common 
PROC's, variables, etc. Handles 100+ separate 
program source files. Full X-Ref or just PUBLIC 
symbols. $55 MC/VISA/COD/AMEX. 

SUMMIT INFORMATION SYSTEMS INC. 

73 East Lane 
Willingboro,NJ 08046 
1-800-334-4096 (in NJ 609-871-0202) 


FORTRAN Developers 

Essentials for documenting and debugging large 
FORTRAN programs. DOCUMENT’er: prepares 
x-reterences and symbol tables for an ENTIRE 
program with ALL routine, COMMON,... defini¬ 
tions +ALL uses. DIAGRAM’er; draws clear dia- 
gram(s) of complex code and data structures of 
your code. Interactive + many display options. 
Needs only existing source, MAP, and library files. 
All compilers supported. Both $128.75 

A IMPULSE 

ENGINEERING 

RayStrong, (415) 788-4611 
IMPULSE Engineering 
P.O.Box 3540 

San Francisco, CA 94119-3540 


Productivity Tools 

Softw^ Revision Management System 
SRMS is a full featured version control 
system featuring: 

• 10 Integrated Utilities with user shell 

• Capability for hundreds of versions/library 

• Merge utility resolves parallel effort conflicts 

• Report Generation Utilities 

• Typeset documentation and much more! 

Version 3.0 S185 


QMAKE**” 

• Program generation utility petlcmed after 
UNIX make to aid in rebuilding sytems 

• Recompiles only routines necessary 

• Support for macros arxl multiple entry points 

• Integrates fully with SRMS 


TXTTOOLS 


• QDIFF - Windowed File Diffoeoc* Utility 

* QSE - Quill Stream Editor 

• QSRCH - Like UNIX CREP 

$85 

Quilt Computing 

7048 Stratford Road 

SS) m 

Woodbury. MN 55125 

CIRCLE 283 ON 

V612) 739-4650 READER SERVICE CARDJ 


PASCAL-to-C TRANSLATOR 

Industrial strength conversion from Turbo, Mi¬ 
crosoft, UCSD, MT+, Apollo, Macintosh, and 
other Pascals to K&R C. Handles nested proce¬ 
dures, intrinsic functions, separately compiled 
units and modules, all data types including long 
integers. 

Requires 512K IBM PC/XT/AT. Send up to 500 
lines of Pascal and we will convert it for FREE. 
Site licensing from $5,000. Conversions 50 
cents/line. 

TGLInc. 

27096 Forest Springs Ln. 

Corvallis, OR 97330 
(503)745-7476 


CROSS-TRANSLATION UTILITIES 

Convert 8085, Z80 Assembly language pro¬ 
grams to 8086 assembly language programs. 
2500 lines converted and re-assembled on IBM 
PC in 20 minutes. With a error-free listing. Also, 
8080/8085 to Z80 or NSC800 conversion. Use 
Microsoft MASM! Ask for what you need! 

raifns 

RELATIONAL MEMORY SYSTEMS. INC 

RELMS’“ 

PO Box 6719 

SAN JOSE, CA. 95150 

Call (800) 448-4880 (408) 265-5411 

TWX 910-379-0014 


BASIC/COBOL SCREEN CODE 

• Create screen code for Quick/Turbo BASIC 

• ($39). IBM/MICROSOFT/REALIA COBOL ($59). 

• Powerful editor. Paint, edit, draw etc. All 

• attributes. Foreign language capability. 

• REALIA/BASIC includes cursor, border, beep 

• etc. COBWORK generates report headers ($39). 

• shp $5. 

Tajeva Software 

6064 Belle Grove Cove S. 

Memphis, TN 38115 
(901)365-4692 


VERSION CONTROL SYSTEM 
****NEW! TLIB'“4.0! **** 

See review of TUB V3 elsewhere in this issue of 
PC Tech Journal. The fastest, most powerful 
source code control system is now even faster , 
with many new features : Keyword substitution, 
generalized wildcard and list-of-file support, 
branching, more. DOS 2.X/3.X $99.95 $3 s/h. 
BURTON SYSTEMS SOFTWARE 
RO. Box 4156 
Cary. NC 27519-4156 
(919)469-3068 


EditingTools 2.1 

Now you can have a slick full-screen multi-file 
text editor for only $35. Enjoy the ease of editing 
many files at once and the freedom of moving 
text among files. File sizes are limited only by 
memory. With an easily reconfigurable key¬ 
board and a convenient multidirectory DOS shell. 
Add $4 for s/h. 

Dr. Jiann Jou 
RO. Box 460969 
Garland. TX 75046 
(214)495-8862 


SCREEN MANAGER 


SAVE TIME! Powerful Screen 
Designer and Data Entry Mana¬ 
ger Increases Your Productivity! 
Interfaces to most languages. 
BASIC, FORTRAN, COBOL, C, 
PASCAL, PLM86, ASM. Not a 
Code Generator! No Royalties. 

The West Chester Group 
P.O. Box 1304 
West Chester. Pa 19380 


79 

VISA/MC 


(215) 644-4206 


FREE DEMO DISK 

CIRCLE 285 ON READER SERVICE CARD 


S t r u B A S 

structured BASIC Development System 
QuickBASIC - IBM BASIC 2.0 


Design screens in minutes with powerful 
screen designer using any editor. Modify 
most features without recompiling. 
Interface to Btrieve. ISAM, and Screens 
with single commands. Offers program 
generators, menu utility, subroutine 
library, utility programs, network 
support thru Btrieve, and preprocessor to 
extend BASIC and enhance structure. 


NOT CQFY PROTECTED 


Site and Coqroratc liccascs available. 
UNEY SYSTEMS. INC 
3 Office Park Drive, Ste. 100 
Little Rock. Arkansas 72211 
501-225-7755 

VISA/MC ACCEPTED _ $495/$5demo. 


FREE 30 DAY TRIAL 

CIRCLE 286 ON READER SERVICE CARD 


M Street Softwa^re 


SCRUTINY 

Advanced Symbolic Debugger 

for all MS-DOS computers 

M Street Software 5400 E. Mockingbird, Suite 114 
214-827-4908 Dallas, Texas 75206 

Information also available via our 
24-hour 300/1200 modem: 214-669-1882 


CIRCLE 287 ON READER SERVICE CARD 


One-stop ROM Shop 


When your application calls for ROM support, 
contact the professionals at ALDIA SYSTEMS, 
We’ve been supporting firmware developers for 
over two years with excellent software develop¬ 
ment tools and technical support. Don't settle 
for imitations, call the company who brought you 
PC-LOCATE, the original PC locater. 


PC-LOCATE: Produce ROM-able code from 
your ".EXE" files. PC-LOCATE assigns physical 
addresses to the re-locatable image based on 
user inputs. PC-LOCATE support the entire Intel 
processor family including : 8086, 8088,80186, 
80188 and 80286. 

PC-PROMPAK: A PROM/ROM expansion 
board for IBM and IBM-compatible computers. 
PC-PROMPAK provides up to 384Kbytes of 
non-volatile expansion memory and supports 
, most 28-pin JEDEC devices including EPROMS. 
EEPROMS and Static RAMs. 

PC-ROMDRIVE: Create a "Diskless PC" that 
can include MS-DOS and your application pro¬ 
gram. "Autoexec.bat" files are supported for 
automatic program execution. 


== ALDIA SYSTEMS, Inn. = 
P.O.Box 37634 Phoenix. Az. 85069 
(602) 866-1786 

CIRCLE 284 ON READER SERVICE CARD . 


Turbo Programmers 

15 MINUTES =200 HOURS 
with new turboMAGIC 
code generator. 

Input forms and help windows up to 66 
lines long. Scrolling within framed 
windows. Pop-up menus. Pull-down menu 
systems. And much more! 

"turboMAGIC is the Cadillac of 
prototyping tools for Turbo Pascal." 

Jim Powell, 

COMPUTER LANGUAGE. June 87 
"Fast automatic updating of dependent 
fields adds flair to your input screens. 
...turboMAGIC will be a blessing for 
programmers who would rather not write 
the user interface for every program." 

Neil Rubenking, 

PC MAGAZINE. 24 Feb. 87 


Order your MAGIC today! Just $99. Call 
800-225-3165. Money Back Guarantee. 
Requires 256K IBM PC compatible. 



CIRCLE 288 ON READER SERVICE CARD 



Before you buy an expensive text editor, 
look what you can do with 
~FAST-EDI : 

• Edit up to ten large files at once 

• Use up to six windows 

• Cut and paste between files 

• Move, Copy, Delete, Save and Print blocks 

• Enter DOS without exiting: edit output 

• Perform full Search and Replace 

• Define Macros . . . Plus lots more! 
YixWi'^FAST-EDI it’s all fast and easy. 
Comes with tutorial and moneyback 
guarantee. 

System Vision Corp. 

P.O. Box 281166 
San Francisco, CA 94128 

415/355-7308 

CIRCLE 289 ON READER SERVICE CARD 



SEPTEMBER 1987 


237 



















































SOFTWARE PROGRAMMERS TOOLS—TERMINAL EMULATION 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Programmers Tools Public Domain 


SciENTinc 


Statistics 


PROFESSIONAL PROLOG TOOLS 

A power packed collection of invaluable predi¬ 
cates for speeding up Al application develop¬ 
ment. Uncompiled code supplied with copious 
examples. No royalties. (Requires Turbo Prolog). 

PRICE $79 VISA/MC/CHECK 
30 day money back guarantee. 

DRYDEN SOFTWARE 
P.O. Box 238 
Santa Barbara, CA 93102 
(805) 683-1650 


What is Turbo Ghostwriter? 

An Application Generator for Turbo Pascal" 
Complete Database in Minutes! Draw & paint 
screens with our tools. Tell Turbo Ghostwriter to 
retrieve your data. * Screen Editor/Painter * FABS 
PLUS B - Tree File Manager * Multiple fields/ 
Key * Multiple Keys/ index. Application Gener¬ 
ator produces Context sensitive Flelp & 
Documentation. All for only $200! 60-day 
money back guarantee. M(i/VISA/PO/COD 
- Company Check. 

Info/order: 800-227-7681: In NC (919) 782-7703 
ASCII - Automated Software Concepts Int’l. Inc. 
3239 Mill Run 
Raleigh. NC 27612-4135 


MULTI-TASKING TOOLKIT 

Write your ‘C’ programs with cooperating, con¬ 
current tasks using INTERWORK. Very useful for 
parallel programming, simulation, and real-time 
applications. INTERWORK supports more than 
100 tasks, provides inter-task communication 
facilities, and handles DOS interrupts. PC/DOS 
version $129, Xenix $159, Unix $249. 

Block Island Technologies 
13563 NW Cornell Road. Suite 230 
Portland, Oregon 97229-5892 
(503)241-8971 



CIRCLE 379 ON READER SERVICE CARD 


IBM PUBLIC DOMAIN 

Send two stamps for free catalog. We have 
games/word processors/data bases/spread 
sheets/graphics/inventory control budget pro¬ 
grams/checking/artificial intelligence and much 
more. For home or business. All programs DDDS 
high quality disks. Only $3.00 per disk. Flundreds 
to choose from. 

Echo Disk Copy 
P.O. Box 50132 
Mobile. AL 36605 

TURBO PASCAL$2.50-disk 

TSS, the BBS-by-mail. 120+ disks of com¬ 
pressed files. Membership fee ($25) inci starter 
pkg + 2 FREE disks with 1st order. Cat list $5. 
Anniversary sale; $250 for full membership PLUS 
full, library thru disk 150. Visa/MC/COD + $5. 
Non U.S. + $10 U.S. funds only. Call our online 
BBS (617) 545-9131. All files online! 

TURBO SOURCE SEARCH 
P.O. Box 876 
Scituate, MA 02066 
(VOICE) 617-545-6677 


Scientific 


SCI/ENG GRAPHICS 

OMNIPLOT [S] (screen graphics) & OMNIPLOT 
[P] (plotter driver) provide integrated engineer¬ 
ing/scientific 2-D & 3-D graphics with NO PRO¬ 
GRAMMING! Menu-driven, flexible, professional. 
Choice of formats: tabular/line, contour, bar, pie, 
3-D wire frame & much more! OMNIPLOT [S] 
$195. Add OMNIPLOT [P], both $295. 
MICROCOMPATIBLES, INC. 

301 Prelude Dr. Dept. J 
Silver Spring, MD 20901 
(301)593-0683 

SCI-GRAFandSCI-CALC 

SCI-GRAF produces huge hi-res graphs thru easy 
menus or linkable C libraries. Supports log scales, 
error bars, point labeling, screen and printer 
output. SCI-CALC is a pop-up calculator with 
complete expression editing, scientific, statisti¬ 
cal, and logical functions. Requires IBM PC 
compatibility. Prices start at $79.95 . 
Microcomputer Systems Consultants 
32 West Anapamu, Suite 190 
Santa Barbara, CA 93101 
(805)963-3412 


NUMERICAL C SOFTWARE 

Computationally stable numerical routines for C 
software developers. LINLIB contains complex 
arithmetic, solutions to equations, approxima¬ 
tions, LU, QR, Cholesky factors of matrices, least 
squares solutions, eigenvalues. LINLIB has 
splines, B-spline routines, spline interpolation, 
spline approximation of data. $165. 
INFORMATION AND GRAPHIC SYSTEMS 
15 Normandy Court 
Atlanta, GA 30324 
Call (404) 231-9582 


RATS! New Version 2.10 

Full function regression, time series and fore¬ 
casting program. Multiple regressions, includ¬ 
ing stepwise. Non-linear least squares. ARIMA 
models, transfer functions & intervention anal¬ 
ysis. Exponential smoothing, spectral analysis, 
Kalman filter, model simulations and much more! 
High-quality graphics to screen, plotter, printer. 
$200-3300. Visa/MC. 

VAR Econometrics, Inc. 

P.O. Box 1818 
Evanston, IL 60204-1818 
(312) 864-8772; (800) 822-8038 


Security Devices 


BREAKTHROUGH IN SECURITY! 

Ultimate protection against software piracy! Un¬ 
like current schemes, which can be bypassed 
by debugging tools, COMBITRON I utilizes 
realtime dynamic interaction between the pro¬ 
tected software and a hardware unit through 
address and data scrambling. Virtually un¬ 
breakable. Available for PC/XT/AT/Compati- 
bles and PS/2. 

T LOG Technologies Corp. 

9 Bentley Rd. 

Plainview, NY 11803 

(516) 932-9057 TELEX 650-276-0098 


EVERLOCK 
COPY PROTECTION 


Designed for user-transparency, clone 
compatibility & strength. It features: 

• no need for damaged media or I/O plugs 

• supports all Hard & Floppy disk formats 

• file-server networks supported 

• variable number of installs (0-99) 

• create demos with remote unlock option 

• allows protected upgrades by modem/BBS 
$195 Starter Kit or $495 with NO meter 
counts. Free info & demo disk available. 

Az-Tech Software, Inc. 

305 East Franklin 
Suite A4A 

Richmond, MO 64085 

(800) 227-0644 . . . (816) 776-2700 

CIRCLE 291 ON READER SERVICE CARD 



PowerStat 

An extremely powerful program with a 
good user interface PC Tech Journal 

Excellent analysis of variance routines 

• Basic Statistics 

• Regression 

• Multivariate 

• Counted Data _ 

• Analysis of Variant 


Analytical Engineering Corporation 
P.O. Box 9, Station P, 

Toronto, Ontario, Canada M5S 2S6 
(416)960-3030 

CIRCLE 292 ON READER SERVICE CARD 



Terminal Emulation 


PCBTAM 

Communications Access 
Method 


General purpose binary synchronous 
access method for custom file transfer 
or terminal emulation on PC/XT/AT 
with IBM BSCA card. 


• high performance, full featured 

• object ($300.00) or source 
($2,500.00) license 

• link with ASM, Lattice or Microsoft 
programs 

• Z-SIO version available 


Symbiotic, Inc. 
1035 Route 46 East 
Clifton, NJ 07013 
201-777-6454 


CIRCLE 293 ON 
READER SERVICE CARD 


FAST FOURIER TRANSFORMS 

* Subroutine for integer data; VERY FAST. 1024 
points in 109 millisec on 8 MHz AT. 

* Subroutine for floating-point: ACCURATE. 1024 
points in 700 mS with 8 Mhz 80287. 

* Call from MS FORTRAN, C, QuickBASIC, Turbo 
Pascal, Lattice C, assembler. GREAT DOCS. 

* Check or PO: $175 ea/ $275 for both. 

J.W Hartwell & Associates 

Route 4 Box 1540 
Hillsborough, NC 27278 
(919)732-7951 


BIT-LOCK® SECURITY 

Piracy SURVIVAL 5 YEARS proves effectiveness 
of powerful multilayered security. Rapid decryp¬ 
tion algorithms. Reliable/small port transparent 
security device. PARALLEL or SERIAL port. 
Countdown and timeout options also available. 
KEY-LOK" security at about BIT-LOCK cost. 
MICROCOMPUTER APPLICATIONS 
7805 S. Windermere Circle 
Littleton, CO 80120 
(303) 922-6410 or 798-7683 


Term/Comm Productivity Tool 

PereLine emulates VT100, VT52, DG210/211, 
IBM3101 Vidtex and two connections at same 
time. Learn mode lets your PC create auto¬ 
logons and other scripts. Remote operations, exit 
to DOS while connected, customize your own 
menus and 5 file transfer protocols including 
batch file transfer Only $69.95 
PEREGRINE DATA SYSTEMS INC. 

5365 Baron Drive 
San Jose, CA 95124 
408-356-6105 


TECH MARKETPLACE . . . The Comprehensive Guide 


TERMINAL EMULATION 

to Products and Services for the MS DOS Market 



For more information call (212) 503-5115 


category continued on next page 


238 


PC TECH JOURNAL 





















































SOFTWARE/TERMINAL EMULATION—UTILITIES 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Terminal Emulation 


BARR/HASP INTELLIGENT RJE 
WORKSTATION 

Hardware and software communications pack¬ 
age for IBM PC, XT and AT. Simultaneously 
transmits data to host and receives output di¬ 
rectly to MVS/JES2, MVS/JES3. VS/RSCS, and 
CDC/NOS, bypassing TSO and CMS. Emulates 
IBM 3777-2 and HASP on IBM 360/20. Line 
speed: 1,200 to 19,200 baud (56,000 bps on AT). 
Supports multiple high-speed printers beyond 
2,400 Ipm. (6,000 Ipm on AT). Features: 
concurrent DOS, LAN support, printer forms 
control, plotter support, unattended operation, 
easy installation. $1,290 includes Hardware 
& Software. 

B/IRR 


BARR SYSTEMS, INC. 

2830 NW 41st Street, Building M 
Gainesville, FL 32606 
(800)-BARR-SYS/(904) 371-3050 


Utilities 


DISK ACCELERATOR V2.0 

DiskCache speeds up your hard disk access. Disk 
caching and ram disk in one package. Ram disk 
shares cache space. Transparent, flexible, con¬ 
figurable, no h/w changes. RAM, EMS, and AT 
extended memory versions incl. Not copy pro¬ 
tected. VISA, MC, volume discounts. No PC’s 
w/o prior approval. $49.00 
DATAMORPHICSLTD., 

P.O.Box 820 

Stittsville, Ontario, Canada KOA 360 
Or call (613) 836-2670 

HARO DISK EXPANSION! 

Disk Manager allows the installation of any 
ST506 hard disk on PC,XT,AT and compatibles. 
Volumes up to 256mb! Menu driven/auto in¬ 
stall, compatible w/ all vers of MS/PC DOS (does 
not modify DOS), up to 16 volumes, easy to use! 
$125+ ship. Ask about Novell product! Dealer 
inquiries invited. 

QNTRRCK 

COMPUTER SYSTEMS INC. 

ONTRACK COMPUTER SYSTEMS, INC. 

6222 Bury Drive 
Eden Prairie, MN 55344 
(612)937-1107 1-800-752-1333 


UHLITIES 


VIEW ANY DOS FILE 

View, print, modify, or search the contents of any 
file. File Dump 2.0 lets you view a file continu¬ 
ously or as fixed length records. Record lengths 
up to 50K are supported. Select any record. 
Search and update in hex and ASCII. Prints 
mainframe-style dumps. Search & modify. EXE 
files easily. $49.95+$4 s/h. CT add 7.5 
LASOR Computer Specialists 
RO. Box 5137 
Rocky Hill, CT 06067 
(203)721-0261 


SPEED UP YOUR HARD DISKI 




For fast, efficient, time-saving use, 
organize your hard disk with 
Vopt! 

Vopt consolidates the fragmented 
files that slow down and wear down 
your disk. Now your hard disk can 
find what it’s looking for — all in 
one place! 

Vopt is fast! Initial organization 
averages under 5 minutes! Daily 
runs from the AUTOEXEC file 
average under 1 minute! 

Vopt includes — Vmap for graphic 
display of HD utilization, Vseek for 
HD seek times, Vmarkbad to flag 
bad clusters, plus much more! 

Get Vopt and get going! 


ONLY M9.95 

Add $3 shipping & handling 
CA residents add 6% sales tax 


GOLDEN BOW SYSTEMS 

2870 Fifth Avenue 
Suite 201 

San Diego. CA 92103 
619/298-9349 

Vopt is a trademark of Golden Bow Systems 

CIRCLE 295 ON READER SERVICE CARD 




CopyWrite 

Now you can debug your own programs 
with a professional quality debugger - 
the one that unraveled every form of 
copy-protection used on the PC. 

With the Quaid Analyzer, you can: 

□ See occurrences of any interrupt, with its 
meaning shown on the screen. 

□ View memory as text or instructions, 
scrolling as easily as you do with an editor. 

□ Run until a memory location or I/O port Is 
changed. 

□ Protect your hard disk from accidental 
destruction. 

□ Analyze software without the source, even 
when it uses countermeasures to thwart 
tracing. 

□ See all stages of the boot load. 

We kept the Quaid Analyzer off the 
market to avoid helping publishers with 
copy-protection. Now that copy¬ 
protection is gone, we can sell it to 
you. 

The Quaid Analyzer is a software tool occupying 100K bytes. It 
runs on any IBM PC and most MS-DOS systems without hard¬ 
ware modification. 

Quaid Software Umited 

$99 U.S. (416) 961-8243 

All orders shipped at^lyM||^^ or write to: 
our expense within a ^ 45 Charles St. East 

day. All major credit Third Floor, Dept. 602 

cards accepted. Toronto, Ontario. M4Y 1S2 

Ask about Disk Explorer the program that takes over 
where Quaid Analyzer leaves off. 

CIRCLE 294 ON READER SERVICE CARD 



Tech 

Marketplace... 

Second Color 
Option Available 
For More Information 
or to Place Your Ad 

Call (212) 503-5115 


Compress Your Data 10X FASTER!! 


• PKARC & PKXARC can compress your files even smaller and up to 
TEN TIMES FASTER than the other ARChive program. 

• “PKARC/PKXARC is the system to use.” 

-Dr. Dobbs Journal of Software Tools 

Only $45 + 3.50 s/h. Wl res. add 5% tax. OUi ■ ij-L/iO 

7032 N. Ardara Ave., Glendale, Wl 53209 (414) 352-3670 IMiUIQi'S IIIC* 


CIRCLE 296 ON READER SERVICE CARD 


SEPTEMBER 1987 


239 

































SOFTWARE/UTILITIES 


TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO P RODUCTS AND SERVICES FOR THE MS DOS MARKET 


Utilities 

— —— - ■ - - 3RHB 

ASCII FILE COMPARISON 

Side by side comparison in sliding windows; 
printed record of program updates. Highlights 
labels, subroutine names, line numbers. Cus¬ 
tom or standard label, statement and remark 
delimiters. Matches out-of-sequence sections. 
$35.00 includes shipping. 

Opus-1 Systems, Inc. 

300108th Ave. SE 
Bellevue, WA 98004 
(206)454-4879 


THE COMPLETE DISK UTILITY 

If it’s on a disk or diskette. Disk Explorer will find 
and display it. Disk Explorer, the complete disk 
utility: Recovers files. Displays, changes, cre¬ 
ates and compares sectors. Creates tracks that 
can’t be duplicated by DOS, locates the precise 
end of a track, creates specialized track formats. 
Allows viewing and moving of clusters. Reports 
on disk drive speed, increases the speed of 
reading data and much more. IBM PC, XT or AT, 
128kb and one diskette drive. $75.00 U.S. Check/ 
Credit card welcome. 


y 

QuaidSoflware Limited 

QUAID SOFTWARE LIMITED 
45 Charles St. East, Third floor 
Toronto, Ontario M4Y1S2 
(416)961-8243 


FREE SPACE ON 
FULL DISKS WITH 



Get megabytes of extra disk space 
without the expense or effort of 
installing a new hard disk. 


Squish even lets other software 
(dBASE III, R:base. etc.) read or 
update compressed files while they 
stay compacted on disk... without 
any software changes! That’s right, 
without expanding one byte on disk! 

A must for databases ... compress 
them up to 90®/o! Reduce text files, 
spreadsheets, etc. up to 60%. 

"Ideal for.. .large data files" 

PC Magazine 2/24/87 
"You owe it to yourself... check this 
one out ’ ’ NYPC Newsletter Feb 87 

PC/XT/AT«DOS 2.0 & up*40K resident 
Order today! Just $79 + $5 S/H: 



SunDog Software 
Corporation 
(718) 855-9141 


264 Court St. Brooklyn. NY 11231 

CIRCLE 297 ON READER SERVICE CARD 


RECORD/PLAYBACK KEYSTROKES 

TOTAL RECALL records an unlimited number of 
keystrokes and plays them back after a failure 
or mistake. Also for demos, running interactive 
programs in batch, or repeating keystrokes. 3 
playback speeds plus ACTUAL for timing sen¬ 
sitive programs. Built-in edit. PC/XT/AT/Com- 
pat. $79 VISA/MC 30 day guarantee. 

Computer Foundations 
2604 Elmwood Avenue, Suite 320 
Rochester, NY 14618 
(716)586-9756 


LIMSIM 

Expanded Memory Simulator for the PC/AT and 
compatible 286 machines. Use the extended 
memory you already have as Lotus style Ex¬ 
panded Memory. Fully supports EMS version 3.2. 
Requires 70k of conventional memory. $50 ($75 
with assembler source) plus $5 s/h. 30 day 
money back guarantee. Visa/MC accepted. 
Larson Computing 
1556 Halford Ave. #142 
Santa Clara, CA 95051 
(408)737-0627 



Spread¬ 
sheets 
50°o to 


AT’s DON’T NEED 360 KB DRIVES 


CIRCLE 299 ON READER SERVICE CARD 


The 1.2MB drive has long been known to READ but NOT reliably 
WRITE on 360KB floppies. With “CPYAT2PC” 1.2MB drives CAN 
reliably WRITE 360KB floppies saving a slot for a second hard 
disk or backup tape. “CPYAT2PC” (Not Copy Protected) offers 
the preferable SOFTWARE SOLUTION. 

• NO software or hardware modification 

• A 360K drive is NOT required 

• “CPYAT2PC” program MAY reside on hard disk 

• Runs on IBM PC/AT and COMPATIBLES 

i.e. Compaq Deskpro 286/386, AT&T 6300 + , 

HP Vectra, Sperry PC/IT, Tandy 3000 
Only $79.00 + $4.00 S/H VISA, MC, COD, UPS-B/R 
ORDER TOLL FREE 1-800-621-0851 XT777 

_ TELEX EZLINK 62873089 

VBM* I Dealer Inquiries Invited 

MICROBRIDGE COMPUTERS 
655 Skyway #125 
San Carlos, CA 
CA 415-593-8777 
NY 212-334-1858 

CIRCLE 298 ON READER SERVICE CARD 


CompiBss your data 
into 1/10^ the space! 


Introducing ARC. It’s used to create and main¬ 
tain data file archives for computers operating 
under any DOS system. 

But it does something that other archive 
and library utilities can’t. It automatically 
squeezes the files being saved so they ^ 
take up less space. Like a can of con¬ 
centrated orange juice. 

From 20% to 90% less, depending on 
the kind of data being saved! 

So there’s more room to store data, 
no matter what media it’s stored on! And 
that’s like giving a shot of vitamin C to 
your savings on equipment and supplies. 

This compressed data can be trans¬ 
mitted over telephone lines in a lot less ■ ■ 
time than it takes to transmit uncom- 
pressed data. So you can beat the high 
cost of phone bills to a pulp, as well. ' 

ARC has a full range of functions for archive 
creation and maintenance. Including password 
encryption to protect data from unauthorized use. 

Typi cal Compre ssion Rates^ 

Program^^"^^^ ASCII 

I ^ Itext I - 

20% to ls=(n^|50%to I O 

30%. ^&JBI60%. I ^ 


9 A ^ 

System Enhancement Associates • 21 New Street, Wayne, NJ 07470 • (201)473-5153 


XT/AT HARD DISK DIAGNOSTICS! 

Disk Manager Diagnostics performs extensive 
tests on your ST412/506 hard disks. Areas tested 
are: Controller, data write/read, seek test, auto¬ 
matic error correction(ECC), random reads and 
media defects. Interactive help. Excellent error 
detection and isolation. $49.95 ship. 
VISA/MC accepted. 

QNTRflCK 

COMPUTER SYSTEMS INC. 

ONTRACK COMPUTER SYSTEMS, INC. 

6222 Bury Drive 
Eden Prairie, MN 55344 
(612)937-1107 1-800-752-1333 


Ammunition to conquer 
your biggest problems! 



• The Virtual Expanded Memory Manager 
provides your EMS applications with up to 
eight megabytes of expanded memory. 

• It turns PC/AT extended memory into 
expanded memory. 

e It turns hard disk storage into expanded 
memory. 

e It's compatible with most EMS applications, 
including 1 -2-3, Symphony, and Reflex. 

e Only $89.95. 30-day money-back guarantee. 


V-EMM^ 


Fort’s Software 
P. O. Box 396 
Manhattan. KS 66502 
(913) 537-2897 


CIRCLE 300 ON READER SERVICE CARD 


PC TECH JOURNAL 
MARKETPLACE is a 
special economical 
section for product and 
service listings. 

Listings are grouped by 
category and sold by 
column inches. 

Second color option 
available. 

Standard Directory 
Listings are also available 
for a minimum of 3 issues 
at $170 per issue 
($510 total). 


240 


PC TECH JOURNAL 





































SOFTWARE/UTILITIES, SOFTWARE/DATA BASE MANAGEMENT—MISCELLANEOUS/PUBLICATIONS 

TECH MARKETPLACE 

THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET 


Utilities 


Software/Data Base Management 




“BOOST YOUR PRODUCTIVITY WITH A BUNDLE OF 

FAST, POWERFUL 

SCREEN AND KEYBOARD UTILITIES!” 


•Get 43 line EGA support 
•Extend your ANSI.SYS to VT100 

• Over 60 useful options! 

• Works well w/thousands of programs 

• Used by thousands since 1984! 


• Speed up screen writing 2-6 times! 

• Add zip to cursor keys 2-5 times! 

• Get back up to 800 scrolled pages! 

• Save valuable scrolled info to disk 

• Free your eyes from scroll blinking 
"The Best of the Best Utilities"— PC Magazine Jun 23. 87 pg 281. 

"The implementation of all the services provided are at least as good in 
Fansi-Console as in any competitor”— Capital PC Monitor May 86 pg 25. 

"Another of those unheralded gems I would not wish to live without” 

"Clear, readable, highly professional manual, excellently typeset” 

—Computing Canada Feb 5. 87 pg 25. 

’ANSI-CONSOLE “ 

The Integrated Console Vtility^^ 

Pay Less and Get More! Only $75! (plus $4 s/h in 48 states) 
400p Manual (w/slip case) & 2 Copyable Disks 
With No Risk, 60 Day Money-Back Satisfaction Guarantee 

CALL (313) 994-3259 NOW TO ORDER (Visa/MC/AmEx) 

HERSEY MICRO CONSULTING, INC., Box 8276, Ann Arbor, Ml 48107 
CIRCLE 375 ON READER SERVICE CARD To Get FREE Brochure w/Reprints 


4GL 


FOURTH GENERATION DEVELOPMENT 
DATABASE/APPLICATIONS GENERATOR 


Sculptor 


40 


Times Faster Than Other 
Fourth Generation Languages 


Cut Your Software 
Development Time by Up To... 


80% 


Completely portable for more than 90 combinations 
of machine and operating systems including 
MS-DOS, Unix, Xenix, VMS, OS9, QNX and more. 

Test drive Sculptor on your MS-DOS system with our complete evaluation 
system for only $45.00. (Includes a 5% discount coupon!) 

FHL 

770 JAMES STREET 
SYRACUSE, NEW YORK13203 
315/474-7856 TELEX 646740 Since 1976 


CIRCLE 378 ON READER SERVICE CARD 


Hard Disk 
Partitioning ^ 
Software 

Breaks the 
32 MB Barrier... 

EFFORTLESSLY! 



■ For PC-ATs, XTs, and compatibles. 

■ Creates multiple DOS partitions, 
up to 2,048 MB each. 

■ Supports ST412, RLL, ESDI and 
SCSI controllers. 


479 


"SpeedStor software makes installation simple and 
pain!ess... its user interface is a Joy to work with."-pc week 


Miscellaneous/ Bar Coding 


BAR CODE READERS 

• IBM, AT&T, Link, Kimtron, TeleVideo, 

• Alloy, DEC keyboard interfaces or RS-232C 

• Need others? Call. 

• NO programming. Reads dot matrix 

• Auto-recognition and single code decoding 

• Reads Code 39, UPC A/E, Codabar & 12 of 5 

• Units in stock, 2 year warranty 

• Bar code printing software, call for info 



PERCON, Inc. 
2190 W. 11th 
Eugene, OR 97402 
(503)344-1189 


BAR CODE & 
MAGNETIC STRIPE 
READERS 
for the IBM PC & AT 

Simple & quick installation 
No additional software or port 
Metal wand & case 
Also available: 

Bar code printing software 
Magnetic stripe encoders 
Units for other computers & terminals 
GSA approved 

TPS ELECTRONICS 
4047 Transport Street 
Palo Alto, CA 94303 

Telephone: 415-856-6833 

Telex: (Graphnet) 371-9097 TPS PLA 
FAX: 415-856-3843 

CIRCLE 377 ON READER SERVICE CARD 


■ Recommended and used by major disk drive, 
controller, LAN and PC manufacturers. 

■ The industry standard: over 100,000 units sold. 



Now includes SpeedCache caching soft¬ 
ware and Disk Drive diagnostics ....FREE 


Business 

Opportunities 


STORAGE 

DIMENSIONS 


The Experts in High Capacity PC Storage 


( 408 ) 395-2688 

981 University Ave. 
Los Gatos, CA 95030 


CIRCLE 376 ON READER SERVICE CARD 


SS33 


TECH MARKETPLACE . . . 

The Home of the Power Buyer 


FIFTY PERCENT DF PRDFITS 

We want to publish your subroutine package 
written in C, Pascal, Modula-2, COBOL, FOR¬ 
TRAN. PL/I, and MASM. Also, templates or 
skeletons or data for applications. Send a one 
page brief and $12 for an immediate appraisal, 
our requirements, current needs, and a sample 
contract for 50% royalties. 

Software Components International, Inc. 

323 East William - Suite 236 
Ann Arbor, Ml 48104 


PUBUCATIONS 


DATABASE INDEX DF PCTJ 

The program contains a database of titles of 
feature articles, letters, etc., for 4 years (vol 1-1 
to 5-6) of PCTJ cross referenced and indexed with 
key words. User supplies a set of key words to 
search the database for titles with matching 
keywords. $16.95 (Wl + 5% tax). 

...LET YOUR COMPUTER 00 THE LOOKING... 
Bit-Stream Products 
5302 Burnett Drive 
Madison. Wisconsin 53705 
(608)233-4324 


SEPTEMBER 1987 


241 















































































INDEX TO ADVERTISERS 


I'C Ti;ci 1 joiiRNAi. si;PTi;ivii'>i;i^ 19S7 


READER 

SERVICE NUMBER ADVERTISER PAGE 
116 Advanced Logic ... Back Gatefold Cover 


253 AI Architects .....56 

* AJS Publishing.148 

153 Aker Corporation.39 

105 Alsys..98&99 

* AnsaSoftware. 6&7 

136 Arity Corporation. 214 

* AST Research .. .12 & 13 

206 ATT Technologies. 107 

203 Atron. 8 

249 Atron.16 

165 Attachmate Corporation.66 

129 Bay Technical Associates.189 

102 Blaise Computing. .25 

254 Borland Inti..Front Gatefold Cover 

106 Bufi^o Products...193 

* Burr-Brown.209 

147 Byte Connection, Inc.229 

124 Cadre Technology.160 

234 Canon.154 & 155 

112 Casio.176 

111 Catamount Corporation.219 

117 CDA World of Computers.228 

* Compaq..71-73 

235 Computer Classifieds, Inc.226 

* Creative Programming Cons ...88 

144 Crescent Software..41 

167 Crosstalk Comm.Back Cover 

114 Cyber Tech.90 

135 DataBase.116 & 117 

110 Digiboard Inc.162 

220 Digital Research.113 

131 Ecosoft Inc.144 

119 FairCom.194 

225 Fifth Generation.197 

133 FlagstaffEngineering.159 

172 Giltronix.211 

109 Golden Software.150 

146 Gryphon Microproducts Inc.221 

221 Guidelines Software:.177 

113 HavenTree Software.26 

238 Hayes Microcomputer.92 

149 Ibex Computer Systems.221 

210 I-BUS Systems. 120 

166 Information Technologies.123 


242 


READER 

SERVICENUMBER ADVERTISER PAGE 

108 Innovative Data Technology.222 


187 Intel Corporation..46 & 47 

209 Interactive Microwave..222 

134 ITS. 230 

258 Kadak Products LTD. .221 

239 Keytronics International.109 

241 Kyocera Unison.78 


170 LAN Systems Inc.203 

160 Lattice, Inc.'.Ill 

143 Lifeboat Assoc.173 

229 Logitech. 115 

125 Lugaru Software.178 

148 Machine Ind. Software.156 

161 Maltrox.153 

178 Maxtor.54 

228 Meridian Technology.121 

259 MetaWare. 22 

211 Micro Data Base Systems.139 

* Microsoft Corporation .:.23 

* Microsoft Corporation.17—20 

150 Microsoft Corporation.60 

180 Micro Sync Inc. 140 

120 MicroTec Research.204 

* MicroWay.231 

237 Mitsubishi. 64 

174 Mortice Kern Systems Inc.24 


224 Nantucket Corporation.145 

191 Norcom..142 


186 Oakland Group.170 

222 Opt-Tech Data Processing.4 

* Oracle Corp. 11 

159 Orchid Technology.147 

185 Overland Data, Inc.127 

230 Paradise Systems.151 

233 PC Brand. 28-31 

215 Periscope Company.5 

227 Personal Comp. Graphics.21 

183 Peter Norton Computing.178 

188 Plotworks ..174 

190 Polytron.86 

175 Programmer’s Connection.41-43 

173 Programmer’s Paradise.227 

162 Programmer’s Shop..48 

151 Programmer’s Shop.175 


READER 

SERVICENUMBER ADVERTISER PAGE 

193 QDP Computer.157 

181 Quantum Software. 158 

137 Quarterdeck OfiSce Systems.68 


* Raima Coip. 171 

157 Rainbow Technologies, Inc..190 

195 Ryan-McFarland. 129 

197 Santa Clara.199 

240 Scantel Systems Ltd..228 

107 Scientific Endeavors Corp.222 

127 Scottsdale Systems.228 

219 Seagate Technology..182 & 183 

198 Seidl Comp. Engrg..191 

200 SessionWare Inc.221 

202 Sigma Designs. 37 

201 SoftCraft.2 

142 Software Garden. 195 

217 Software Interphase.143 

196 Software Link. 201 

130 Solution Systems.14 

177 Stargate Technologies.174 

152 Symmetry Group.196 

194 Tall Tree Systems.35 

138 Teknika.I6l 

155 Telebyte. 202 

182 TeleVideo Systems Inc_... 184 & 185 

* Texas Instruments. .94 

164 3M. 44&45 

* TranSec Systems Inc.229 

207 True BASIC, Inc.152 

213 U.S. Robotics. 206 


115 Vermont Creative.27 

204 Video 7 .168 

218 Visionics Corp. .,.126 

169 VM Personal Comp.105 

132 Wallsoft Systems Inc.213 

154 WyteCorp.130 

214 Xanthus ..96 

236 Zanthe.131-134 


PC TECH JOURNAL 

































































































































INDEX TO PRODUCTS 


PC TECH JOURNAL SIlPTEMBi;K 1987 


RS# PRODUCT ADVERTISER PAGE RS# PRODUCT ADVERTISER PAGE 


IBM and COMPATIBLE PCS 

116 ALR Access 386 Advanced Logic Inside Back Cover 

* Compaq Computer Products Compaq.71-73 

210 PC-AT Board Level I-BUS Systems.120 

237 Mitsubishi MP286 Mitsubishi Electronics.64 

MULTIFUNCTION/MEMORY CARDS 

• Rampage 2, Advantage 2 AST Research.12 & 13 

187 In Board Intel Corporation.46 & 47 

180 d Clock II NiicroSync Inc.140 

159 Product X Orchid Technology.147 

GRAPHICS SYSTEMS/CARDS 

206 EGA Wonder ATI Technologies.107 

l6l PG 1281 Matrox.153 

230 AutoSwitch EGA Paradise Systems.151 

227 Photon Graphics Board Personal Comp. Graphics.21 

193 VIVA 2000, VIVA 2000^ VTVA 

1280 QDP Computer Systems, Inc. ... 157 

202 Sigma VGA Sigma Designs.37 

204 VEGA Deluxe Video 7.168 

MASS STORAGE HARDWARE 

111 9 Track Tape System Catamount Corporation.219 

133 9 Track Tape Flagstaff Engineering.159 

149 9 Track Tape System IBEX Computer Systems.221 

108 “LEO” Innovative Data Technology .... 222 

178 Speedstor hard disk Maxtor.54 

185 9 Track Micro Overland Data, Inc.127 

197 Batram Santa Clara Systems.199 

219 Data Manager Seagate Technology.182 & 183 

155 Multifunction Storage Telebyte.202 

164 Back Up Systems 3M.44 & 45 

PRINTERS-PLOTTERS 

129 Print Master Bay Technical Associates.189 

234 Laser Beam Printer Canon USA Inc.154 & 155 

241 Laser Printer Kyocera Unison Inc.78 

194 J Laser Plus T^l Tree Systems.35 

MODEMS 

238 Smart Modem 2400 Hayes Microcomputer.92 


PROGRAMMER'S TOOLS 

* * db/LIB A.J.S. Publishing. .148 

105 PCAT ADA Compiler Alsys, Inc.98 & S>9 

203 PC Probe Atron.8 

249 Mini Probe Atron.16 

102 C Tools Plus Blaise Computing.25 

254 Turbo C Borland Inti. .. Front Gatefold Cover 

* Vitamin C Creative Progr. Cons.88 

144 Quick Pak/QBase Crescent Software.41 

114 VersiEdit CyberTech.90 

220 GEM Digital Research.113 

119 R-Tree/C-Tree FairCom.194 

109 PC/Forms Screen Mgmt. Golden Software.150 

146 The Weiner Shell Gryphon Microproducts.221 

113 Flowchart HavenTree Software.26 

125 Epsilon Lugaru Software.178 

148 C Tree Query Machine Independent.156 

259 386 Compiler MetaWare.22 

1'20 C Cross Compiler MicroTec Research.204 

191 Screenio Norcom.142 

186 C-Scape Oakland Group.170 

222 Sort, Scroll & Recall Opt-Tech Data Processing.4 

233 Programmers Tools PC Brand.28—31 

215 Periscope Periscope Company.5 

183 The Norton Editor Peter Norton Computing.178 

188 PLOTT 88 Plotworks, Inc.174 

190 Polymake & Version Control Polytron Corp.86 

198 Seidl Make Utility & Version 

Manager Seidl Computing Engrg.191 

200 Netclock Sessionware.221 

201 B Trieve SoftCraft.2 

142 Demo Program Software Garden.195 

217 Quick Windows Software Interphase.143 

152 “Keep Out” Slate System Symmetry Group.196 

115 Windows for Data Vermont Creative.27 

132 UI Programmer Wallsoft Systems Inc.213 

154 XO-Shell Wyte Corp.130 

COMPUTER AIDED SOFTWARE ENGRG. 

124 Teamwork/PC SA Cadre Technologies.160 

SOFTWARE UTILITIES 

191 Screenio Norcom.142 



DATA ACQUISITION 



* 

DMA 

Burr Brown. 

.209 

209 

Catalogue 

Interactive Microware .... 

.222 


MONITORS 



138 

MJ503 Monitor 

Teknika. 

.I6l 


EXPERT SYSTEMS/AI SOFTWARE 

* PC Scheme Texas Instruments.94 

GRAPHICS SOFTWARE 

107 Graph C 4.0, VTEK 4.0 Scientific Endeavors Corp.222 


MICRO-MINI MAINFRAME COMMUNICATIONS 

239 KB 3270 Keytronics International.109 

169 Relay 3270 VM Personal Comp.105 

LOCAL AREA NETWORKS 

165 3-N-l Attachmate Corporation.66 

106 Buffalo SX Buffalo Products.193 

225 The Logical Connection Fifth Generation Systems.197 

172 Easy Queue Giltronix.211 

166 Link Up LAN Gateway Information Technology.123 

170 The LAN ShelLThe LAN Librar¬ 

ian LAN Systems, Inc.203 

196 LAN Link Software Link.201 

182 PM/286 Network Server TeleVideo Systems Inc. .. 184 & 185 

OTHER COMMUNICATION HARDWARE 

110 Digiboard COM/XI Digiboard Inc.162 

177 Stargate OC8000 Stargate Technologies.174 

COMMUNICATION SOFTWARE 

167 Crosstalk Crosstalk Comm.Back Cover 

228 Carbon Copy Meridian Technology.121 

SCIENTIFIC/ENGINEERING SOFTWARE 

218 EE Designer Visionics Corporation.126 

LANGUAGES 

136 Prolog Compiler Arity Corporation.214 

254 Pascal, Basic, Prolog Borland Inti. . . Front Gatefold Cover 

131 Microstat Ecosoft Inc.144 

146 The Weiner Shell Gryphon Microproducts.221 

221 C++ Guidelines Software.177 

160 Lattice Services Lattice, Inc.Ill 

143 C++ Lifeboat Associates.173 

229 Modula 2 Logitech Inc.115 

* Language Newsletter Microsoft Corporation.23 

150 MASM Microsoft Corporation.60 

* Microsoft “C” Microsoft Coiporation.17-20 

195 RM/Fortran Ryan McFarland.129 

130 Brief Solution Systems.14 

207 True Basic True BASIC.152 


153 

DATA MANAGEMENT SOFTWARE 

Magic PC Aker Corporation. 

.39 

* 

Paradox 2 

Ansa Software. 

... 6 & 7 

135 

Dataease 

Dataease Int’l.116 & 117 

211 

MDBS III 

Micro Data Base Systems.. 

.139 

224 

CUPPER 

Nantucket Corporation.... 

.145 

* 

Professional Crack 

Oracle Corp. 

.11 

* 

DB Vista 

Raima Corp. 

.171 

236 

ZIM 

Zanthe. 

131-134 

253 

OPERATING SYSTEMS 

OS/286 and OS/386 

AI Architects. 

.56 

258 

AMX Multi Tasking 

Kadak Products Ltd. 

.221 

174 

MKS Tool Kit 

Mortice Kern Systems Inc.. 

.24 

181 

QNX 

Quantum Software Systems 

.158 

137 

DESKview 

Quarterdeck Office System 

.68 

213 

OTHER SERVICES 

Courier HST 

US Robotics. 

.206 

214 

Documentation 

Xanthus. 

.96 

112 

OTHER SUPPLIES 

CM-100 

Casio Inc. 

.176 


SECURITY DEVICES 

157 Software Sentinel 


Rainbow Technologies, Inc.190 


147 

MAIL ORDER 

Mail Order 

Byte Connection, Inc. 

.... 229 

117 

Mail Order 

CDA World of Computers . . 

.... 228 

235 

Mail Order 

Computer Classifieds, Inc... 

.... 226 

134 

Mail Order 

ITS. 

.... 230 

* 

Mail Order 

Micro Way. 

.... 231 

175 

Mail Order 

Programmer’s Connection . 

.. 41-43 

173 

Mail Order 

Programmer’s Paradise. 

.... 227 

162 

Mail Order 

Programmer’s Shop. 

.48 

151 

Mail Order 

Programmer’s Shop. 

....175 

240 

Mail Order 

Scantel Systems Ltd. 

.... 228 

127 

Mail Order 

Scottsdale Systems. 

.... 228 

• 

UNLock 

TranSec Systems Inc. 

.... 229 


SEPTEMBER 1987 


243 































































































































CALENDAR 



SEPTEMBER 

September 1-3 
PC EXPO 

New York, NY (PC EXPO) Con¬ 
tact: Jim Mion, PC EXPO, 333 
Sylvan Ave., Englewood Cliffs, NJ 
07632; 800/922-0324; in New Jer¬ 
sey, 201/569-8542 

September 14-18 
Electronic Printer and Publish¬ 
ing Conference 
Miami, FL (CAP International) 
Contact: CAP International, One 
Snow Road, Marshfield, MA 
02050; 617/837 -1341 

September 21-23 
Conference on Software 
Maintenance 

Austin, TX (mbs, dpma, and ieee-cs) 
Contact: Roger Martin, National 
Bureau of Standards, Bldg. 225, 
Rm. B266, Gaithersburg, MD 
20899; 301/921-3545 

September 23-25 
PC Tech Journal Systems Forum 
San Diego, CA (PC Tech Jour¬ 
nal) Contact: Marti Cunha, PC 
Tech Journal, Suite 800, 10480 
Litde Patuxent Parkway, Colum¬ 
bia MD 20144; 301/740-8300 

September 23-25 . 

Writing Better Computer Soft¬ 
ware Dociunentation for Users 
Atlanta, GA (Georgia Institute of 
Technology) Contact: Deidre 
Mercer, Dept, of Continuing 
Education, GIT, Adanta, GA 
30332; 404/894-2547 

September 28-October 1 
Conference on Electronic/ 
Desktop Publishing 
San Francisco, CA (National 
Computer Graphics Association) 
Contact: NCGA, 2722 Merrilee 
Dr., Suite 200, Fairfax, VA 22031; 
800/225-6242; 703/698-9600 

September 29-October 2 
INFO 87 

New York, NY (Cahners Exposi¬ 
tions Group) Contact: Frank 
Fazio, Show Manager, INFO 87, 
999 Summer St., Stamford, CT 
06905; 203/964-8287 


OCTOBER 

October 4-8 
OOPSLA ’87 

Kissimmee, FL (acm sigplan) 
Contact: Object Oriented Pro¬ 
gramming: Systems, Languages, 
and Applications Conference; 
ACM, 11 W. 42nd St., New York, 
NY 10036; 212/869-7440 

October 5-7 
National Connectivity 
Symposium 

Chicago, IL (Digital Consulting 
Associates, Inc.) Contact: Semi¬ 
nar Services Department, 6 
Windsor Street, Andover, MA 
01810; 617/470-3870 

October 5-8 
ASPLOS-II 

Palo Alto, CA (acm sigplan) Con¬ 
tact: Architectural Support for 
Programming Languages and 
Operating Systems Conference, 
ACM, 11 W. 42nd St., New York, 
NY 10036; 212/869-7440 

October 6-7 

Data Security and Control: A 
Management Overview 
New York, NY (New York Uni¬ 
versity) Contact: NYU, School of 
Continuing Education, Seminar 
Center, 575 Madison Ave., New 
York, NY 10022; 212/580-5200 

October 13-15 
PC EXPO/Chicago 
Chicago, IL (PC EXPO) Contact: 
Jim Mion, PC EXPO, 333 Sylvan 
Ave., Englewood Cliffs, NJ 07632; 
800/922-0324; in New Jersey, 
201/569-8542 

October 15-17 
Northeast Computer Faire 
Boston, MA (Interface Group) 
Contact: The Interface Group, 
Inc., 300 First Ave., Needham, 
MA 02194; 617/449-6600 

October 19-23 
Expert Systems in Government 
Washington, DC (Mitre Corpora¬ 
tion and lEEE-cs) Contact: ieee-cs, 
1730 Massachusetts Ave. NW, 
Washington, DC 20036; 
202/371-0101 


October 20-22 
NetWorld ’87 

Dallas, TX (PC EXPO) Contact: 
Annie Zdinak, PC EXPO, 333 Syl¬ 
van Ave., Englewood Cliffs, NJ 
07632; 800/526-3247; in New Jer¬ 
sey, 201/569-6409 

October 25-27 
Print Quality Seminar 
Bedford, MA (Datek) Contact: 
Frank Stefansson, Datek Infor¬ 
mation Services, Inc., P.O. Box 
68, Newtonville, MA 02160; 
617/893-9130 

October 26-28 
CEPS/FaU 

Boston, MA (Cahners Exposition 
Group and InterConsult, Inc.) 
Contact: Corporate Electronic 
Publishing Systems Conference, 
InterConsult, Inc., 48 Brattle 
Street, Cambridge, MA 20138; 
800/255-7798; 617/547-0332 

October 27-29 
UNIX EXPO 

New York, NY (National Exposi¬ 
tions Company) Contact: NEC, 

49 W. 38th St., Suite 12A, New 
York, NY 10018; 212/391-9111 

October 28-30 
AI/East ’87 

Atlantic City, NJ (Tower Confer¬ 
ence Management) Contact: 
TCM, 331 W. Wesley St., Whea¬ 
ton, IL 60187; 312/668-8100 


NOVEMBER 

November 2-4 
DPMA Computer Conference 
San Francisco, CA (Data Process¬ 
ing Management Association) 
Contact: DPMA, 505 Busse Hwy., 
Park Ridge, II 60068-3191; 
312/825-8124 

November 3-5 
COMDEXT^aU 

Las Vegas, NV (Interface Group) 
Contact: The Interface Group, 
Inc, 300 First Ave., Needham, 

MA 02194; 617/449-6600 

November 9-11 
Symposium on Operating 
System Principles 


Austin, TX (acm sigops) Contact: 
Les Belady, Microelectronics 
Computer Consortium (MGC), 
9430 Research Blvd., Edielon 
Building 1, Suite 200, Austin, TX 
78759; 512/834-3330 

November 9-12 
ICCAD-87 

Santa Clara, CA (ieee-cs) '^Contact: 
International Conference on 
Computer-aided Design, ieee-cs, 
1730 Massachusetts Ave. NW, 
Washington, DC 20036; 
202/371-0101 

November 11—13 
Localnet ’87 

Los Angeles, CA (Online Interna¬ 
tional) Contact: Online Interna¬ 
tional, Inc., 989 Avenue of the 
Americas, New York, NY 10018; 
212/279-8890 

November 11-13 
Optical Publishing and Storage 
New York, NY (Learned Informa¬ 
tion, Inc.) Contact: Learned In¬ 
formation, Inc., 143 Old Markon 
Pike, Medford, ISQ 08055; 
609/654-6266 


DECEMBER 

December 1-3 
Optical Information Systems ’87 
New York, NY (Conference Man¬ 
agement Corporation) Contact: 
Meckler Publishing, 11 Ferry 
Lane W, Westport, CT 06880; 
203/226-6967 

December 6-9 
International Conference on 
Information Systems 
Pittsburgh, PA (Society for Infor¬ 
mation Management) Contact: 
William D. King, Graduate 
School of Business, University of 
Pittsburgh, Pittsburgh, PA 15260; 
412/648-1587 

December 16-18 
Microcomputer Graphics ’87 
New York, NY (Expoconsul In¬ 
ternational) Contact: Expoconsul 
International, Inc., 3 Indepen¬ 
dence Way, Princeton, NJ 08540; 
609/987-9400 liliffliimiffil 


244 


PC TECH JOURNAL 


ILLUSTRATION‘DAVID POVILAITIS 



Last year, Advanced Logic Research introduced 
the first 80386 systems. Now we’re introducing 
the ALR 386/2™ the second generation. 





Until now, if you wanted 
three times the speed of an AT 
you paid about three times the 
price of an AT. Now Advanced 
Logic Research announces 
second-generation 386 systems- 
designed to do to the pri^ 
barrier what our, 
first generation 
did to the per¬ 
formance barrier. 

Annihilate it. 

Starting at $1990, ALR’s totally 
new 386/2 systems couple the 
power of 32-bit processing with 
true 32-bit memory. Even the 
system and graphics BIOS are 
implemented in a 32-bit architec¬ 
ture. That simply means your 

applications will run 
faster on a 386/2 
than any other 
available computer. 

- And ALR 386/2 

systems let you use all the 
peripherals, graphics, enhance¬ 
ments and applications 
developed for the most widely 
adopted computer operating 
environment in history. 

Which makes' you wonder 
why others want thousands 
more for less flexible, first- 
generation 386 systems. 


a full 17-sector hard disk track, 
settling for sector by sector 
buffering. Our way makes the 
fastest even faster where it 
counts—in the real world. 

And with up to 2 MB of RAM 
on the motherboard, you 
get flexibility with your 
power. 


ROM BIOS 


Picture this. 

Naturally the raw speed of 
80386 means the 386/2 series 
make great 

Or choose 
enhanced 

EGA'^'^ or GA 786'^-'^ graphics 
from ALR and a variety of 
sources and get the most 
advanced resolutions available. 

The 386/2 series makes 
the best use of floor or 
desk space. 


How to run circles around 
the competition. 

Sure, Compaq and IBM use 
the fastest available hard 
disks and controllers 
with 1:1 interleaving, 

HI Advanced Logic 
Research 

Compaq 

Hi IBM 

just like Advanced Logic 
Research. But they don’t buffer 


You can even run applications 
without memory limitations. 
Because all enhanced ALR sys¬ 
tems include the Phoenix 
Control/386 Software 
utilities with 32 bit disk 
caching, Vdisk and 
EMS/EEMS Software. 


Speed to bum. Without having 
money to burn. 


Read the reviews and compare 
the 386/2 to the others. Then 
compare more. If you find more 
power, flexibility and quality 
somewhere else, buy somewhere 
else. You won’t find a more 
competitive price anywhere else. 




Advanced 

Logic 

Research 

S4389 


IBM 

$6995 

$7094 


7000 

6000 

5000 

4000 

3000 

2000 

1000 


The ALR 386/2 Model 40 with EGA 
adapter is similar to the IBM Model 
80-041 and Compaq Deskpro 386 
Model 40 with EGA adapter. Except 
for a lower price and twice their 
standaj^d RAM. 


Advanced Logic Research. 
Faster, first. 

Advanced Logic Research 
got its start designing high- 
performance microcomputers 
for customers that demanded 
more power than they could get 
off the shelf. We designed one 
of the first IBM PC-compatibles. 
Developed the enhanced 
performance AT-compatible PC 
Magazine called “... the most 
judicious choice...” And 
introduced the first 386 system, 
which PC Tech Journal said 
“... brings up-to-date technology 
to affordable 386 systems!’ 

Our complete line of perfor¬ 
mance XT and AT-compatible 
systems offers the advanced 
technology of one of the 
world’s most experienced PC 


















386/2 Model 10 $1990 


design teams. And the cost- 
effective quality of Singapore- 
based manufacturing. So you 
simply get more computing 
power for less money. From a 
growing international net¬ 
work of ALR dealers chosen 
for their ability to deliver fulh 
service and support. 

Call Advanced Logic Research 
today for the name of your local 
ALR dealer. And discover the 
price of power isn’t as high as it 
used to be. 






Performance Specifications 


• ALR-designed system board 

• 1 MB 32-bit RAM, expandable 
to 2 MB on system board 

• 1.2 MB floppy disk drive 

• Serial and parallel ports 

• 8 expansion slots 


101 - key keyboard 
l6-MHz 80386 processor 
(20-MHz optional) 

80387 support 


386/2 Model 130 


$7299 


• ALR-designed system board 

• 2 MB 32-bit RAM 

• 130 MB, 30 ms, or faster, 
access time hard disk drive/ 
500 Kbs/s trans rate 

• EMS and EEMS software 

• 1.2 MB floppy diskdrive 

• Serial and parallel ports 


» 8 expansion slots 

* 101 -key keyboard 

» l6-MHz 80386 processor 
(20-MHz optional) 

• 80387 support 

» 32-bit Vdisk and disk 
caching software 


Enhancements 


386/2 Model 80 


386/2 Model 40 


$3990 


• ALR-designed system board 

• 2 MB 32-bit RAM 

• 40 MB, 30 ms, or less, 
access time hard disk drive/ 
500 Kbs/s trans rate 

• EMS and EEMS software 

• 1.2 MB floppy disk drive 

• Serial and parallel ports 


• Desktop or floormount 

• 8 expansion slots 

• 101-key keyboard 

• 16-MHz 80386 processor 
(20-MHz optional) 

• 80387 support 

• 32-bit Vdisk and disk 
caching software 


• ALk-designed system board 

• 2 MB 32-bit RAM 

• 70 MB, 30 ms, or faster, 
access time hard disk drive/ 
500 Kbs/s trans rate 

• EMS and EEMS software 

• 1.2 MB floppy disk drive 

• Serial and parallel ports 


• Desktop or floormount 

• 8 expansion slots 

• 101-key keyboard 

• l6-MHz 80386 processor 
(20-MHz optional) 

• 80387 support 

• 32-bit Vdisk and disk 
caching software 


, ^ ^ Monitor not included 

A complete range of enhancements, including 4 MB 

32-bit RAM and multifunction products as well as 
additional I/O options are available. 640 x 480 pixel 
AV EGA with l6 colors and GA 786 graphics adapters 
available third quarter. 



Advanced Logic Research, Inc. 

10 Chrysler, Irvine, CA 92718 (714) 581-6770 
FAX: (714) 581-9240 TELEX: 51060H525, 

Answ^er back Advanced Logic 

From Asia or Europe call ALR/Wearnes Technologv 

Phone: (65) 2592521 TELEX: RS38113WRNTEC 


Sf>ccifications, configurations and prices subject to change without notice. Copyright 1987 Advanced Logic Research. All rights reserved. 

386/2 and GA 786 are trademarks of Advanced Logic Research, Inc. AT a trademark of International Business Machines Corp. 

Phoenix and ControI/386 are trademarks of Phoenix Technology, Ltd. 

Circle Reader Service No. 116 for Re-seller, No. 121 for End-user. 




















Announcing 
80386 power 
with 1 MB 
of 32-bit 
RAM for 
less than 
$ 2 , 000 . 














No matter wha% you take 
CR08SmjCMk.4 


♦ ♦ ♦ 

You won’t encounter a PC conununications program with as much versatility as 
CROSSTALK®Mk. 4. It has everything we could imagine you needing today. More 
protocols—X.PC, Xmodem. Kermit, and our own CROSSTALK. More terminal 
emulations, including complete IBM 3101. DEC VT-100. and TeleVideo 9O0 
series. Concurrent conununications capability -r- up to 15 sessions, each ^ 

\ displayed in its own expandable window, or on separate ' 'pages.' ’ Error 
I . checking at high speeds. Prepared script £Qes to extract information from 
1 most popul2U‘information utilities. A powerful programming language 
K; ^ to create customized scripts. Finally, we’ve built-in a bit of tomorrow. 

M \ \ CROSSTALK Mk. 4 is based on a modular architecture that mezuis we 
\ \ \ tan add new capabilities by phone, as they come along. So you’re 

, ‘ \ getting more than today’s standard in communications software. 

* \ .\ You’re getting tomorrow’s as well. 

\ ^^D^^CCTAI I/* BiO'tal Communications Associates^ Inc. 

\ & Vg^WI /\LI\ 1000 Holcomb Woods Parkway 

l V C O M M U N I C A T I O N S Ro.swell. Georoia .'^0076 


tradcmartnirngital tommunicaiions As.s<Kil|tcs. Inc. 


rk of International nuslne-vs Machines t:orp. tteleVideo